Ruby Watir:fire_事件不起作用,因为在IE中单击可以正常工作

Ruby Watir:fire_事件不起作用,因为在IE中单击可以正常工作,ruby,automation,cucumber,watir,watir-webdriver,Ruby,Automation,Cucumber,Watir,Watir Webdriver,以下代码不起作用: browser.link(:id=>“tab\u buy”).fire\u事件(“onmouseover”) 鉴于此代码运行良好: browser.link(:id=>“tab\u buy”)。单击效果良好 IE和Firefox都是如此。请告诉我是否有任何解决方法。上次我检查时。fire_事件(“onmouseover”)至少在Firefox中没有实现(watir webdriver)(这是几个月前的事了) 我目前的解决方法是使用以下方法: 在“我的所有测试”中包含的文件中:

以下代码不起作用:

browser.link(:id=>“tab\u buy”).fire\u事件(“onmouseover”)

鉴于此代码运行良好:

browser.link(:id=>“tab\u buy”)。单击
效果良好


IE和Firefox都是如此。请告诉我是否有任何解决方法。

上次我检查时。fire_事件(“onmouseover”)至少在Firefox中没有实现(watir webdriver)(这是几个月前的事了)

我目前的解决方法是使用以下方法:

在“我的所有测试”中包含的文件中:

class Watir::Element
 def hover
  assert_exists
  driver.action.move_to(@element).perform
 end
end
这为每个元素提供了一个悬停方法,如下所示:

browser.div(:id => "someId").hover
到目前为止,我就是这样处理悬停事件的。这是Jari Bakken在测试期间遇到类似的
.fire\u event(“onmouseover”)
问题时提出的(提供的)


我不确定这在IE中是否有效,因为我们这里只使用Firefox。

请记住,点击某个东西的动作可能引发许多不同的事件,包括

  • 移动的
  • 安穆塞弗
  • 昂穆斯敦
  • 上厕所
  • onclick
  • 外出
这个问题和答案可能很有用:当你做一些事情时,比如把鼠标移到某个物体上并点击它,你就可以知道发生了什么事情

如果你的目标是点击链接,那么使用.click通常是最直接、最简单的方法。另一方面,如果发生了基于Javascript或CSS的操作(常见于健壮的自定义控件、模拟下拉菜单等),则可能需要触发事件,以使事情发生,例如当鼠标移动到下拉菜单中的顶部项上时,出现菜单。(这也可能很棘手,因为CSS对使用“hover”操作定义的“psuedoclass”的反应方式与基于事件的javascript的工作方式不同


然而,要真正给你提供的不仅仅是基本信息,还要提供一个具体的答案,你必须分享更多关于正在发生的事情、你正在努力实现的事情、正在发生的事情等等,因为现在我们任何人都需要大量的读心术来理解你的挑战是什么,以及你目前是如何尝试实现这些挑战的克服它。

了解你在这种情况下试图适应什么以及你期望“onmouseover”做什么可能会有帮助。或者换句话说,你是如何根据你期望发生的事情来定义“working”的?你期望“onmouseover”事件点击链接吗?这不太可能。“onclick”可能,但我为什么要使用它呢f
。单击
有效。您为什么尝试使用该事件,以及您希望看到的反应是什么?