9

Visual Studioのコードは、SeleniumWebdriver2.24.0を使用しています。私が使用しているテストフレームワークはNunitです。バージョン2.24.0がリリースされるまで、私のコードは問題なく機能しました(差分ブラウザーのロード、Webサイトの駆動)。

新しいIEスタンドアロンサーバーをプロジェクトに追加しました。

これで、コードを実行するたびに、NUnitでこのエラーメッセージが表示されます。

 FirstSeleniumTest.SeleniumTest.TestGoogle:
SetUp : System.InvalidOperationException : Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (NoSuchDriver)
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.

次に、コマンドプロンプトがポップアップします。

Started InternetExplorerDriver server (64-bit)
2.24.0.0
Listening on port 50329

IEでプロテクトモードを無効にしました。まだ運がない。

コードを適切なWebドライブに戻すにはどうすればよいですか?

4

4 に答える 4

16

4つのセキュリティゾーン(インターネット、ローカルイントラネット、信頼済みサイト、制限付きサイト)すべてで保護モードが有効または無効になっていることを確認する必要があります。つまり、設定値はすべてのセキュリティゾーンで同じである必要があります。

于 2012-06-20T16:26:49.673 に答える
15

すでに正しい答えに追加するだけで、すべての値を同じに設定することができない場合(一部のゾーンではセキュリティを無効にする必要がありますが、他のゾーンではセキュリティを有効にしたままにします)、、、InternetExplorerOptionsおよびを含むオーバーロードでドライバを初期化することもできます。使用する

new InternetExplorerOptions() { IntroduceInstabilityByIgnoringProtectedModeSettings = true}
于 2013-07-18T12:31:51.923 に答える
6

各ゾーンの保護モード設定を同じ値に設定する必要があります。読む:http ://code.google.com/p/selenium/wiki/InternetExplorerDriver#Required_Configuration

于 2012-06-21T06:33:51.800 に答える
2

アレクサンダーの言っていることに同意しますが、会社がIE設定の変更を許可していない場合はどうなりますか。


以下は私のために働いた:

    File file = new File("M:\\dev\\ria\\iedriver\\2.42.0\\install\\exec\\IEDriverServer.exe");
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath());

    DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
    caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);  
    caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

    WebDriver driver = new InternetExplorerDriver(caps);
    driver.get("http://www.google.com");
于 2014-10-09T14:14:14.737 に答える