如何处理不可预测和不需要的弹出窗口出现在selenium webdriver甚至t不是预期的行为

时间:2016-02-03 16:10:57

标签: selenium-webdriver

在我们的应用程序中,我们会弹出一些时间,但这不是预期的行为,一旦弹出显示剩余的脚本将失败,因为重点是弹出。那么请你指导我解决这个问题

2 个答案:

答案 0 :(得分:0)

如果它发生在同一个地方很多你就可以像这样处理......

public boolean isAlertPresent() {
    try {
        driver.switchTo().alert();
        return true;
    } // try
    catch (Exception e) {
        return false;
    } // catch
}

现在,您可以使用上面所述的方法检查警报是否存在,如下所示:

if (isAlertPresent()) {
    driver.switchTo().alert();
    driver.switchTo().alert().accept();
    driver.switchTo().defaultContent();
}

我不会把它放在任何地方,因为它会真的减慢测试速度。

答案 1 :(得分:0)

你需要做的是 - 创建一个用于访问ex -

的任何元素的函数
getButton("xpath of your desired xpath").click();

getButton(String Xpath){
if(driver.findElement(By.xpath()).isVisible)
return driver.findElement(By.xpath())
else{
if (isAlertPresent()) {
    driver.switchTo().alert();
    driver.switchTo().alert().accept();
    driver.switchTo().defaultContent();
}
return driver.findElement(By.xpath())
}

}

确保您始终调用此函数来访问UI中的任何元素。