我的网络驱动程序测试因出现弹出窗口而卡住。我如何在测试中关闭它?
这是我的代码:
@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")));
}
尝试这个,
Alert alert = driver.switchTo().alert();
alert.accept();
我以前从未使用过alert,我以前使用JS来使弹出窗口静音。你也可以这样做,但我想警报将是第一选择。
EDIT#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; }");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)