WebDriver关闭弹出窗口

时间:2011-11-07 09:08:06

标签: java webdriver

我有网页驱动程序测试因为弹出窗口出现而卡住了。我怎么在测试中关闭它?

这是我的代码:

@Test
 public void canGoToSomePage() throws Exception {

 final WebDriver webDriver = getFireFoxDriver();
 webDriver.get(getRouteAbsolute("Application.index"));


 WebElement someElement = webDriver.findElement(By.id("some_id_here"));
 someElement.click();

 // HERE I GOT AUTHENTICATION POP-UP I WANT TO CLOSE


 assertNotNull(webDriver.findElement(By.id("some_2_id")));

 }

1 个答案:

答案 0 :(得分:0)

试试这个,

 Alert alert = driver.switchTo().alert();
 alert.accept();

之前我从未使用过警报,之前我常常使用JS来弹出弹出窗口。你也可以这样做,但我猜警报将是第一选择。

修改#1

以下是如何使用Java脚本静音弹出窗口。请注意,必须在导致弹出窗口显示的单击之前执行它。根据您的弹出窗口是警报,确认还是提示,您将必须使用以下内容。

((JavascriptExecutor)driver).executeScript("window.alert = function(msg) { return true; }");
((JavascriptExecutor)driver).executeScript("window.confirm = function(msg) { return true; }");
((JavascriptExecutor)driver).executeScript("window.prompt = function(msg) { return true; }");