弹出窗口出现时测试卡住了

时间:2012-01-16 07:30:23

标签: java webdriver

我有一个网络驱动程序测试,它会在点击链接时打开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脚本的情况下是否有任何替代方法。这可能有助于我理解这个问题的根本原因。我尝试在链接点击后添加等待几毫秒,但它没有帮助。做了相当多的谷歌搜索,这也没有帮助。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我接受弹出这样关闭它:

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

它不是java脚本但它有效。你也可以解雇一个弹出窗口。