2013-05-01 13 views
8

Momentan benutze ich den Selenium Treiber mit Capybara, aber ich würde gerne auf Poltergeist umsteigen. Bei vielen der getesteten Oberflächen werden Elemente an bestimmten Positionen auf der Seite verschoben. Ich habe die folgende Methode zum Ziehen und Ablegen geschrieben, die in Selen funktioniert:Wie ziehe ich Drag & Drop mit Poltergeist?

def drag_drop(page, draggable, droppable, xoffset, yoffset) 
    driver = page.driver.browser 
    driver.mouse.move_to(draggable.native, draggable.native.size.height/2, draggable.native.size.width/2) 
    driver.mouse.down 
    driver.mouse.move_to(droppable.native, droppable.native.size.height/2 + yoffset, droppable.native.size.width/2 + xoffset) 
    driver.mouse.up 
end 

Wie würde ich mich über so etwas wie dies in Poltergeist zu schreiben?

Antwort

3

Ich weiß nicht, ob es genau das ist, wonach Sie suchen, aber Capybara has an API for dragging welches Poltergeist unterstützt.

+2

Ja, ich habe es versucht, aber es ist nicht präzise genug. Ich muss in der Lage sein, auf Koordinaten zu ziehen und nicht nur ein Element übereinander zu platzieren. Wenn ich nur 'drag_to' verwende, wird nicht registriert, dass es in dem entsprechenden Bereich gelandet ist. – lobati