web-dev-qa-db-ja.com

IE11上のSelenium WebDriver

WebDriveの回帰スイートを自動化するためにWebDriverを使用しています。IE11でテストスクリプトを機能させようとしましたが、成功していません。

IEDriverServer.exeは現在WebDriverをサポートしておらず、この問題にはMicrosoftの協力が必要であることを理解しています。Seleniumの問題#6511に対応する手順を試しました。

  1. (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サブキーは存在する場合と存在しない場合があり、存在しない場合は作成する必要があることに注意してください。このキー内で、値が0のiexplore.exeという名前のDWORD値を作成します。

  2. 保護モードの設定はすべてのゾーンで同じです

  3. 拡張保護モードは無効です。

それでも、IE11で自動化スクリプトを実行すると、ブラウザーが開いて例外が発生します

org.openqa.Selenium.ElementNotVisibleException: Received a JavaScript error attempting to 
click on the element using synthetic events.We are assuming this is because the element 
isn't displayed, but it may be due to other problems with executing JavaScript. (WARNING:
The server did not provide any stacktrace
information)

誰でもこの問題を解決する方法で私を助けてください。 IE11で自動化スクリプトを実行する必要があります。

バージョンの詳細:

  1. セレン-2.41.0

  2. InternetExplorerDriverサーバー(32ビット)2.40.0.0

  3. Windows 7-32ビット

11
mra419

それは少しトリッキーで迷惑ですが、可能です。

IE必要な設定。既に実行/使用の間でコンテンツをキャッシュしているため、キャッシュと個人設定をクリアする必要があります。インスタンスは起動時にクリーンです。これらは、WebDriverをインスタンス化するときにIEインスタンスに渡されるオプションです。

地元:

    var options = new InternetExplorerOptions();
    options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
    //Clean the session before launching the browser
    options.EnsureCleanSession = true;

リモート:

    capabilities = DesiredCapabilities.InternetExplorer();
    capabilities.SetCapability("ie.ensureCleanSession", true);

おそらく、これとIEで述べたセキュリティ設定があなたのために働くかもしれません。

7
mutt

MicrosoftはIE11 Webドライバーをリリースしました

http://www.Microsoft.com/en-us/download/details.aspx?id=44069

4
TyMayn

2017年の更新:

  case "remote5555iexplorer" => {
    println(" load web-driver: remote5555iexplorer")

    val dc = DesiredCapabilities.internetExplorer()
    dc.setJavascriptEnabled(true)
     dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true)
    dc.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true)
    dc.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true)

    dc.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false);

    remote = new RemoteWebDriver(new URL("http://localhost:5555/"), dc) 
    //remote = new InternetExplorerDriver(dc)

  }

iexplorer:11.0.9.9600.17843更新バージョン:11.0.20

libraryDependencies + = "org.seleniumhq.Selenium"% "Selenium-ie-driver"% "3.3.1"

webdriver:IEDriverServer.exe 3.2.0.0(64ビット)

webdriverを実行するためのコマンド:IEDriverServer.exe/LOG-LEVEL = DEBUG

0
nexoma

必要な機能についてのすべて..この行をIEドライバーに必要な機能を使用すると、再び繰り返されることはありません...

            ieCapabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL,false);
0