npa*_*osg 5 ruby drag-and-drop watir
我需要测试一些我需要拖放一些UI元素的功能.
我尝试在此页面上执行此操作http://www.html5rocks.com/en/tutorials/dnd/basics/:
browser.divs(:class => "column")[-2].drag_and_drop_on browser.divs(:class => "column")[-3]
Run Code Online (Sandbox Code Playgroud)
在chrome中,我没有看到任何事情发生.在Firefox中,我看到鼠标按钮已关闭,但没有其他任何事情发生 - 元素没有移动.我也尝试过其他页面,这似乎从来没有奏效.
我也尝试过这种解决方法(建议在多个线程中使用),它也不起作用:
my_element = browser.divs(:class => "column")[-4]
target = browser.divs(:class => "column")[-3]
my_element.fire_event("onmousedown")
driver = browser.driver
driver.action.click_and_hold(my_element.wd).perform
driver.action.move_to(target.wd).perform
target.fire_event("onmouseup”)
Run Code Online (Sandbox Code Playgroud)
我在mac上使用ruby 1.9.3.我也在windows上尝试了ruby 2.1.5,结果是一样的.
有没有办法用watir拖放?
这就是最终让它发挥作用的原因(一点也不花哨,但它为我做到了):
# monkey patch for webdriver: copy and paste in IRB
module Selenium
module WebDriver
class ActionBuilder
def drag_and_drop(source, target)
click_and_hold source
move_to target, 0, 0
release target
self
end
end # ActionBuilder
end # WebDriver
end # Selenium
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
666 次 |
| 最近记录: |