org.openqa.selenium.InvalidElementStateException:无法执行本机交互:无法加载本机事件组件

Zis*_*ska 3 java selenium webdriver selenium-firefoxdriver

在将FF9更新为FF10之后,使用Java绑定在Windows 7中使用版本2.15.0和Firefox9时,我遇到了此错误.我尝试在网上建议禁用本机事件,但没有运气.在线搜索了更多解决方案后,我将WebDriver更新到2.17.0版.问题已得到解决,我有时也没有遇到同样的问题.我再次升级到最新版本的WebDriver,2.19.0,问题解决了.现在我在将FF10更新到11之后面临同样的问题.我升级到2.20,但问题占了上风.我禁用了原生事件如下,但我仍然得到错误.

使用Java:

FirefoxProfile profile = new FirefoxProfile(); 
profile.setPreference("webdriver_enable_native_events", false); 
driver = new FirefoxDriver(profile); 
Run Code Online (Sandbox Code Playgroud)

Stacktrace(当我尝试移动鼠标悬停在元素上时):

org.openqa.selenium.InvalidElementStateException: Cannot perform native interaction: Could not load native events component. 
Command duration or timeout: 30.07 seconds
Build info: version: '2.20.0', revision: '16008', time: '2012-02-28 15:00:40'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_31' 
Driver info: driver.version: RemoteWebDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
at java.lang.reflect.Constructor.newInstance(Unknown Source) 
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java: 170) 
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.­java: 123) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java: 438) 
at org.openqa.selenium.remote.ExecuteMethod.execute(ExecuteMethod.java: 47) 
at org.openqa.selenium.remote.RemoteMouse.mouseMove(RemoteMouse.java: 89) 
at org.openqa.selenium.interactions.MoveMouseAction.perform(MoveMouseAction.ja­va: 37) 
at org.openqa.selenium.interactions.CompositeAction.perform(CompositeAction.ja­va: 32) 
at org.openqa.selenium.interactions.Actions.perform(Actions.java:349) 
at com.requirementsLive.qa.utility.NavigateHelper.navigate_HoverPageTabs(Navig­ateHelper.java: 49) 
Run Code Online (Sandbox Code Playgroud)

我在NavigateHelper中的代码:

WebElement hoverMenu = uiHelper.waitForElementPresent(By.id(tabLocator), 10); 
Actions hoverAction = new Actions(this.getDriver()); 
hoverAction.moveToElement(hoverMenu); 
hoverAction.perform(); ------> line that throws the error 
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?在webdriver中是否有永久性修复,或者每当有FF更新时我们是否应该升级到最新的webdriver(只要有一个)?(这次升级不起作用).

谢谢.

小智 5

我建议使用firefox 9或10作为WebDriver 2.20.0或2.19.0尚未完全兼容最新版本的firefox.