我有一个网络驱动程序测试,它会在点击链接时打开javascript确认,但是一旦确认显示,测试就会卡住。在手动单击确认框中的“确定”或“取消”之前,测试中的其余代码行不会执行。请参阅以下代码:
private WebDriver webDriver;
@Test
public void testClickButton() {
webDriver = getFireFoxDriver();
webDriver.findElement(By.xpath("//a[text() = 'Delete']")).click();
//JAVASCRIPT CONFIRMATION COMES UP AND THE TEST GETS STUCK!
//THE BELOW LINE DOES NOT EXECUTE UNTIL THE CONFIRMATION IS MANUALLY CLICKED.
closePopUp();
}
我只在Firefox上遇到此问题。该测试在IE和Chrome上运行良好。
@ WebDriver closing the popup发布了一个类似的问题,建议使用java脚本来弹出弹出窗口作为解决方法。这似乎是解决问题的一种有趣方式,但是我想知道在没有使用java脚本的情况下是否有任何替代方法。这可能有助于我理解这个问题的根本原因。我尝试在链接点击后添加等待几毫秒,但它没有帮助。做了相当多的谷歌搜索,这也没有帮助。
有什么想法吗?
答案 0 :(得分:1)
我接受弹出这样关闭它:
Alert alert = driver.switchTo().alert();
alert.accept();
它不是java脚本但它有效。你也可以解雇一个弹出窗口。