Gwt 尝试使用watir webdriver双击元素时发生本机事件错误

Gwt 尝试使用watir webdriver双击元素时发生本机事件错误,gwt,webdriver,watir,watir-webdriver,browser-automation,Gwt,Webdriver,Watir,Watir Webdriver,Browser Automation,我正在为GWT应用程序编写自动测试。我试着双击table元素。我正在使用此代码单击: browser.element(:xpath, '/html/body/div[5]/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div[2]/div/div[2]/div/div/table/tbody[2]/tr[1]/td[1]/div').double_click 执行此命令时,会出现如下错误: test_search(TC_articl

我正在为GWT应用程序编写自动测试。我试着双击table元素。我正在使用此代码单击:

browser.element(:xpath, '/html/body/div[5]/div[2]/div/div/div/div[2]/div/div/div/div/div/div/div/div[2]/div/div[2]/div/div/table/tbody[2]/tr[1]/td[1]/div').double_click
执行此命令时,会出现如下错误:

test_search(TC_article_example):Selenium::WebDriver::Error::InvalidElementStateError: Cannot perform native interaction: Could not load native events component.

[remote server] file:///C:/Users/TOMASZ~1.RYB/AppData/Local/Temp/webdriver-profile20130403-4556-12yrrcd/extensions/fxdriver@googlecode.com/components/driver_component.js:8577:in `generateErrorForNativeEvents'
[remote server] file:///C:/Users/TOMASZ~1.RYB/AppData/Local/Temp/webdriver-profile20130403-4556-12yrrcd/extensions/fxdriver@googlecode.com/components/driver_component.js:8610:in `FirefoxDriver.prototype.mouseMove'
[remote server] file:///C:/Users/TOMASZ~1.RYB/AppData/Local/Temp/webdriver-profile20130403-4556-12yrrcd/extensions/fxdriver@googlecode.com/components/command_processor.js:10275:in `DelayedCommand.prototype.executeInternal_/h'
[remote server] file:///C:/Users/TOMASZ~1.RYB/AppData/Local/Temp/webdriver-profile20130403-4556-12yrrcd/extensions/fxdriver@googlecode.com/components/command_processor.js:10280:in `DelayedCommand.prototype.executeInternal_'
[remote server] file:///C:/Users/TOMASZ~1.RYB/AppData/Local/Temp/webdriver-profile20130403-4556-12yrrcd/extensions/fxdriver@googlecode.com/components/command_processor.js:10220:in `DelayedCommand.prototype.execute/<'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/http/common.rb:59:in `new'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/http/default.rb:66:in `request'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/bridge.rb:616:in `raw_execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/bridge.rb:594:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/bridge.rb:389:in `mouseMoveTo'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/common/mouse.rb:54:in `move_to'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/common/action_builder.rb:344:in `block in perform'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/common/action_builder.rb:343:in `each'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/common/action_builder.rb:343:in `perform'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.2/lib/watir-webdriver/elements/element.rb:181:in `hover'
C:/Watir/polisy.rb:27:in `test_search'
请给我一些小费。我使用selenium 2.31、watir 4.0和firefox 19.0.2。
PS:对不起,我的英语不好。

这个错误听起来像是想要本地事件,你不允许它们。尝试将本机事件的配置文件设置更改为true

还要抛弃丑陋、脆弱、无法阅读的xpath。Watir有更具可读性、更不脆弱的方法来识别您试图单击的div


开始一个新问题,包括该div所在的表的一些HTML,以及如何选择它的逻辑(当然它与表的内容有关?而不仅仅是第三个表体第二行的第二个单元格)我们可以为您提供一些建议,告诉您如何更好地选择元素,这些元素将生成有意义且可读的代码,如果表内容稍有更改,则不会中断,并且不会在页面的任何重新设计中中断

我将profile.native\u事件设置为true。但这一切都没有改变。Xpath可能不是最漂亮的,但它可以工作。如果使用简单单击,则选择tr。只有双击的方法无效。我不知道为什么。如果函数双击工作,那么我将修复我的XPath。您是否尝试过使用`.fire\u事件(“ondblclick”)来查看它是否工作?这将使用javascript事件而不是本机事件,并且可能会起作用?是的,我已经尝试过,并且没有错误,但它不起作用。这场争吵的焦点是什么都没有。我已尝试安装较旧的浏览器和selenium。但是它仍然不起作用。你能在你试图点击的东西的区域向我们展示html吗?有没有使用同样GWT东西的带有示例代码的页面?或者使用与您使用的控件类似的控件?如果没有HTML或更好的网站,目前很难提出许多替代方案。你不能使用watir 4.0,你必须使用某种风格的watir webdriver才能支持Firefox。您能提供正在使用的watir wevdriver版本和webdriver版本吗?尤其是,由于您的FF版本是最新的,请确保webdriver的内容是最新的。
profile = Selenium::WebDriver::Firefox::Profile.new
profile.native_events = false
browser = Watir::Browser.new :firefox, :profile => profile