2013-12-19 3 views
6

Ich versuche, eine Drag & Dropaktion mit Winkelmesser/Selenium zu automatisieren, um zu überprüfen, dass eine Karte basierend auf Kacheln (Prospektbibliothek) richtig funktioniert, aber ich kann nicht automatisieren Ziehen Sie & Drop Aktion (Verschieben der Karte).Ziehen und Ablegen (Karte schwenken) mit Winkelmesser

ich eine Seite mit einer Karte geladen habe, wie diese: http://tombatossals.github.io/angular-leaflet-directive/examples/center-example.html

Und dieses Winkelmesser Test schwenkt nicht die Karte, die DragAndDrop Aktion über das ausgewählte Bild scheint nicht zu arbeiten.

describe('Panning map', function() {  
    var ptor, driver; 
    beforeEach(function() {   
     ptor = protractor.getInstance(); 
     browser.get('center-example.html'); 
     driver = ptor.driver; 
    }, 30000); 

    it('should update the center value if the map is dragged', function() { 
     var el = element(by.xpath('.//img[contains(@class, "leaflet-tile-loaded")][1]')); 
     browser.actions().dragAndDrop(el.find(), { x: 40, y: 40 }).perform(); 
     ptor.sleep(2000); 
     expect(element(by.model("london.lat")).getAttribute("value")).toBe('51.505'); 
     expect(element(by.model("london.lng")).getAttribute("value")).toBe('-1.09'); 
    }); 
}); 

, die der Grund für eine DragAndDrop Aktion nicht auf ein Beispiel, wie diese anzuwenden sein kann?

+0

Interessant. Haben Sie die [Event-Dokumentation] von Leaflet (http://leafletjs.com/reference.html#map-dragging) gelesen? – geraldarthur

+0

Yess. Ich habe es auch im Quellcode von Leaflet nachgeschlagen, um das schleppende Element zu finden, und tatsächlich ist es das img: https://github.com/Leaflet/Leaflet/blob/master/src/dom/Draggable.js#L87, aber Ich kann das Ziehen mit dem Winkelmesser nicht automatisieren. – tombatossals

+0

Ich habe es mit Ihrer Beispielseite versucht und ist auch gescheitert. Hast du eine Lösung gefunden? –

Antwort