我有网页驱动程序测试因为弹出窗口出现而卡住了。我怎么在测试中关闭它?
这是我的代码:
@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")));
}
答案 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; }");