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);
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)
NavigationHelperの私のコード:
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でこれに対する恒久的な修正はありますか、それともFFが更新されるたびに、最新のWebDriver(ある場合)にアップグレードする必要がありますか?(今回はアップグレードは機能しませんでした)。
ありがとう。