2013-05-01 13 views
8

In questo momento sto utilizzando il driver selenio con Capybara, ma mi piacerebbe passare a utilizzare Poltergeist. Tuttavia, gran parte dell'interfaccia che sto testando implica il trascinamento e il rilascio di elementi in particolari posizioni sulla pagina. Ho scritto il seguente metodo per drag and drop, che funziona in selenio:Come trascinare e rilasciare usando il 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 

Come potrei fare per scrivere qualcosa di simile in poltergeist?

risposta

3

Non so se è esattamente quello che stai cercando, ma Capybara has an API for dragging supportato da Poltergeist.

+2

Sì, ci ho provato, ma non è abbastanza preciso. Devo essere in grado di trascinare e rilasciare le coordinate, non solo un elemento sopra l'altro. Se uso semplicemente 'drag_to' non si registra come se fosse atterrato nell'area appropriata. – lobati

Problemi correlati