使用版本2.15.0和Firefox9时,我遇到了此错误 在Windows 7中使用Java绑定,在更新FF9到FF10之后。我试图禁用 网上建议的本地事件,但没有运气。在线搜索了更多解决方案后,我将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);
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.java: 37)
at org.openqa.selenium.interactions.CompositeAction.perform(CompositeAction.java: 32)
at org.openqa.selenium.interactions.Actions.perform(Actions.java:349)
at com.requirementsLive.qa.utility.NavigateHelper.navigate_HoverPageTabs(NavigateHelper.java: 49)
我在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
我错过了什么吗?在webdriver中是否有永久性修复 或者我们应该升级到最新的webdriver(只要有一个) 每次有FF的更新? (这次升级不起作用)。
感谢。
答案 0 :(得分:5)
我建议使用firefox 9或10作为WebDriver 2.20.0或2.19.0尚未与最新版本的firefox完全兼容。
答案 1 :(得分:1)
Selenium 2.29.0发布时支持FF18(适用于原生事件)。以下是更新的链接:http://selenium.googlecode.com/git/rb/CHANGES。
可能会更新到FF18,selenium-webdriver(2.29.0)可能会帮助您。