Watir Webdriver fire_event onmouseover不再工作

时间:2012-03-09 15:00:45

标签: watir watir-webdriver

我一直在使用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

但是当菜单出现时,它们会在驾驶员有机会点击菜单项之前立即消失。

2 个答案:

答案 0 :(得分:3)

browser.div(:id =>“someId”)。hover

睡3

将解决问题。我遇到了同样的问题,睡眠解决了它:)

答案 1 :(得分:1)

我设法绕过这一个(假设网站使用jquery),使用execute_script触发一些jquery来覆盖“隐藏”菜单上的可见性。有关详细信息,请参阅此答案https://stackoverflow.com/a/8392467/409820

需要这样做是我和其他人请求.hover方法的原因之一,所以这也是你可以尝试的。

(我的剧本仍在使用那个特殊技巧,因为a)它正在工作,而b)我正在研究其他东西,并没有迫切需要摆弄它们。