Selenium WebDriverと連動するInternet Explorer 11でテストを実行しようとしています。コードは次のとおりです。
System.setProperty("webdriver.ie.driver", "Path/to//IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.get("www.google.com");
driver.findElement(By.name("q"));
そして、私はこのエラーを受け取ります:
InternetExplorerDriverサーバー(64ビット)2.46.0.0を起動しました。ポート43760でリッスンします。スレッド "main"で例外が発生しました。またはタイムアウト:15ミリ秒ビルド情報:バージョン: '2.46.0'、リビジョン: '61506a4624b13675f24581e453592342b7485d71'、時間: '2015-06-04 10:22:50'システム情報:ホスト: 'user1-PC'、ip: ' 10.0.23.71 '、os.name:' Windows 7 '、os.Arch:' AMD64 '、os.version:' 6.1 '、Java.version:' 1.8.0_45 'ドライバー情報:org.openqa.Selenium.ie。 InternetExplorerDriver機能[{browserAttachTimeout = 0、enablePersistentHover = true、ie.forceCreateProcessApi = false、pageLoadStrategy = normal、ie.usePerProcessProxy = false、ignoreZoomSetting = false、handlesAlerts = true、version = 11、platform = WINDOWS、nativeEvents = true、すなわち。 ensureCleanSession = false、elementScrollBehavior = 0、ie.browserCommandLineSwitches =、requireWindowFocus = false、browserName = internet Explorer、initi alBrowserUrl = http:// localhost:43760 / 、takesScreenshot = true、javascriptEnabled = true、ignoreProtectedModeSettings = false、enableElementCacheCleanup = true、cssSelectorsEnabled = true、unexpectedAlertBehaviour = dismiss}]セッションID:8a5b7ab5-862a- 462d-ab4b-929d4ed5b71a ***要素情報:{Using = name、value = q} at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at Sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at Sun.reflect.DelegatingConstructorAccessorImpl org.openqa.Selenium.remote.ErrorHandler.createThrowable(ErrorHandler.Java:204)のorg.openqa.Selenium.remote.ErrorHandlerのJava.lang.reflect.Constructor.newInstance(Unknown Source)の.newInstance(Unknown Source) throwIfResponseFailed(ErrorHandler.Java:156)at org.openqa.Selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.Java:605)at org.openqa.Selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.Java:358)at org.openqa .Selenium.remote.RemoteWebDriver.findElementByName(RemoteWebD river.Java:431)org.openqa.Selenium.By $ ByName.findElement(By.Java:300)at org.openqa.Selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.Java:350)at MySel20Proj.MySel20Proj.App .main(App.Java:42)
https://code.google.com/p/Selenium/wiki/InternetExplorerDriver の設定チュートリアルを実行しようとしましたが、まだ機能していません。そして、このコードはFirefoxとChromeで動作します。
2つの方法があります。
方法1:INITIAL_BROWSER_URLの設定:
File ieFile = new File("D:\\IEDriverServer_x64_2.53.0\\IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", ieFile.getAbsolutePath());
DesiredCapabilities ieCaps = DesiredCapabilities.internetExplorer();
ieCaps.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "http://www.bing.com/");
driver = new InternetExplorerDriver(ieCaps);
//some operations on that site
driver.findElement(By.id("sb_form_q")).clear();
driver.findElement(By.id("sb_form_q")).sendKeys("Ripon Al Wasim");
driver.findElement(By.id("sb_form_go")).click();
方法2:ターゲットコンピューターにレジストリエントリを設定するには:
IE 11のみの場合、ターゲットコンピューターにレジストリエントリを設定して、ドライバーが作成するInternet Explorerのインスタンスへの接続を維持できるようにする必要があります。
32ビットWindowsの場合:レジストリエディターで調べる必要があるキーは、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHEです。
64ビットWindowsの場合:キーはHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHEです。
FEATURE_BFCACHEサブキーは存在する場合と存在しない場合があり、存在しない場合は作成する必要があることに注意してください。重要:このキー内で、iexplore.exeという名前のDWORD値を値0で作成します。
詳細については、以下をご覧ください: https://github.com/SeleniumHQ/Selenium/wiki/InternetExplorerDriver#required-configuration
すべての可能な解決策を通過した後、私は同じ問題に直面しました最終的に答えを得ました。これを試してみてくださいあなたの問題も間違いなく解決します.
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
System.setProperty("webdriver.ie.driver","C://MavenTest//driver//IEDriverServer.exe");
driver = new InternetExplorerDriver();
32ビットWindowsの場合:レジストリエディターで調べる必要があるキーは、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHEです。
64ビットWindowsの場合:キーはHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHEです。
FEATURE_BFCACHEサブキーは存在する場合と存在しない場合があり、存在しない場合は作成する必要があることに注意してください。重要:このキー内で、iexplore.exeという名前のDWORD値を値0で作成します。
Ripon Al WasimがこのURLを投稿しました。これは、Seleniumと連携するIE11の鍵です。 https://github.com/SeleniumHQ/Selenium/wiki/InternetExplorerDriver#required-configuration
私はこのセットアップを持っていました:
ここからダウンロード: http://Selenium-release.storage.googleapis.com/index.html?path=2.53/
私はガイドに従い、次のことをしなければなりませんでした。
FEATURE_BFCACHE
キーとiexplore.exe
DWORDをレジストリに追加しますAdditionaly:
Selenium remote server
がIEDriverServer
と通信できないため、IEでプロキシ設定を無効にする必要がありました。requireWindowFocus
をtrueに設定してwebdriverを実行しています( Selenium WebDriverはIE browser )そしてそれは働いた。スタンドアロンサーバーを実行するときにIEDriverServer.exeへのパスを指定すると、ガイドから迂回するため、PATHに含める必要はありません。
私は同様の問題に直面していました。 Mavenビルドでコードを実行しているときに直面しました。ここで、POM XMLファイルには異なるバージョンがありましたが、実際にインストールされたSeleniumは別のバージョンです。そのため、インストールされているバージョンと一致するようにバージョンを変更しました。そして今、すべてが正常に動作しています