我正在使用selenium网格在同一台机器上的不同浏览器上运行我的脚本(集线器和节点在同一台机器上)。我的代码在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”,版本= 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");
请帮助解决我的问题。 非常感谢
答案 0 :(得分:0)
我有一个非常类似的问题。在我的情况下,从http切换到https时出现警报。使用以下语句来处理警报:
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.accept();
这对我有用。希望这个解决方案有所帮助。