我一直在使用Watir自动测试我公司的主要网络应用程序。测试需要鼠标悬停的javascript下拉菜单,以及要点击的菜单上的链接。
$browser.link(:id=> 'element').fire_event "onemouseover"
在我们改变应用程序的外观和感觉之前一直工作正常。对外观的改变似乎没有以任何方式改变HTML外观和菜单的工作方式。其他一切都与Watir一起工作。
我尝试使用似乎适用于其他人的解决方案,包括:
class Watir::Element
def hover
assert_exists
driver.action.move_to(@element).perform
end
end
并使用
browser.div(:id => "someId").hover
但是当菜单出现时,它们会在驾驶员有机会点击菜单项之前立即消失。
答案 0 :(得分:3)
browser.div(:id =>“someId”)。hover
睡3
将解决问题。我遇到了同样的问题,睡眠解决了它:)
答案 1 :(得分:1)
我设法绕过这一个(假设网站使用jquery),使用execute_script触发一些jquery来覆盖“隐藏”菜单上的可见性。有关详细信息,请参阅此答案https://stackoverflow.com/a/8392467/409820
需要这样做是我和其他人请求.hover方法的原因之一,所以这也是你可以尝试的。
(我的剧本仍在使用那个特殊技巧,因为a)它正在工作,而b)我正在研究其他东西,并没有迫切需要摆弄它们。