0

同じマシン上の異なるブラウザーでスクリプトを実行するためにセレン グリッドを使用しています (ハブとノードは同じマシン上にあります)。コードは Firefox では問題なく実行されますが、Internet Explorer ではエラーが発生します。

Internet Explorer を構成するために次のコマンドを使用しました。

java -jar selenium-server-standalone-2.25.0.jar -role webdriver -hub http://:4444/grid/register -port 5554 -browser platform=WINDOWS,ensureCleanSession=true,browserName="iexplore",version= 8,ignoreProtectedModeSettings=true, javascriptEnable=true

スクリプトの実行にtestngを使用しています。

テストを実行すると、Internet Explorer ウィンドウが開きますが、「これは Webdriver の最初の開始ページです」と表示されます。テストで指定された URL が開かず、次のエラーが表示されます。

org.openqa.selenium.UnhandledAlertException: モーダル ダイアログが存在します

IE の必要な機能を設定するための私のコードは次のとおりです。

if(browser.equalsIgnoreCase("iexplore")){
            System.out.println("iexplore");
            capability= DesiredCapabilities.internetExplorer();
            capability.setBrowserName("iexplore");
            capability.setVersion("8");
            capability.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
            capability.setPlatform(org.openqa.selenium.Platform.WINDOWS);
        }

これは、ブラウザーを開くためのコードです。

URL url = new URL("http://<hostname>:4444/wd/hub");
driver = new RemoteWebDriver(url, capability);
driver.get("http://google.com");

私の問題を解決するのを手伝ってください。どうもありがとう

4

1 に答える 1

0

私は非常によく似た問題を抱えていました。私の場合は、http から https に切り替えるときに表示されるアラートでした。アラートを処理するには、次のステートメントを使用します。

WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.accept();

これは私にとってはうまくいきました。このソリューションが役立つことを願っています。

于 2013-01-25T18:38:12.807 に答える