2013-05-01 43 views
8

现在我正在用水豚使用硒驱动器,但我想切换到使用Poltergeist。然而,我正在测试的很多界面涉及拖放页面上特定位置的元素。我已经写了拖放下面的方法,它在硒的工作原理:如何使用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 

我怎么会去的吵闹鬼写这样的事情?

回答

3

我不知道这是否正是你要找的,但Capybara has an API for dragging Poltergeist支持。

+2

是的,我试过了,但它不够精确。我需要能够拖放到坐标,而不只是一个元素在另一个之上。如果我只是使用'drag_to',它不会注册为已经降落在适当的区域。 – lobati 2013-05-03 01:14:32