【问题标题】:Watir Webdriver fire_event onmouseover no longer workingWatir Webdriver fire_event onmouseover 不再工作
【发布时间】:2013-06-05 15:48:10
【问题描述】:

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

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

【问题讨论】:

  • 我以为最新版的watir-webdriver实现了.hover方法

标签: watir watir-webdriver


【解决方案1】:

browser.div(:id => "someId").hover

睡眠 3

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

【讨论】:

    【解决方案2】:

    我已经设法通过使用 execute_script 触发一些 jquery 来覆盖“隐藏”菜单上的可见性来解决这个问题(前提是该站点使用 jquery)。请参阅此答案https://stackoverflow.com/a/8392467/409820 了解更多信息

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

    (我的脚本仍在使用该特定技巧,因为 a)它正在工作,并且 b)我现在正在处理其他东西并且没有迫切需要摆弄它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      相关资源
      最近更新 更多