如何处理硒中的多个警报弹出确认?
如何处理硒中的多个警报弹出确认。例如:如果接受弹出窗口,它会一次又一次询问同一个窗口。如果在点击第5次确认/解散后弹出窗口关闭,我们如何处理相同的问题。如何处理硒中的多个警报弹出确认?
所以,请帮我在这...
回答:
如果你知道的时候确切数目此警报会弹出,你可以使用一个简单的循环与重的硬编码数。例如:
int retries = 5; while (retries > 0) {
alertTriggerButton.click();
Alert alert = driver.switchTo().alert();
alert.accept();
retries--;
}
你应该修改这个代码,以确保它根据自己的网页行为,认为像响应时间考虑作品(换句话说 - 如果需要增加相应的等待时间)。
回答:
你可以使用while。您正在检查警报是否存在,每当它出现时,都会根据您提供的布尔值来解决它。当再也没有新的警报时,它会断开并继续。
public static void resolveAllAlerts(WebDriver driver, int timeout, boolean accept) { while (isAlertPresent(driver, timeout)) {
resolveAlert(driver, accept);
}
}
private static boolean isAlertPresent(WebDriver driver, int timeout) {
try {
Alert a = new WebDriverWait(driver, timeout).until(ExpectedConditions.alertIsPresent());
if (a != null) {
return true;
} else {
throw new TimeoutException();
}
} catch (TimeoutException e) {
// log the exception;
return false;
}
}
private static void resolveAlert(WebDriver driver, boolean accept) {
if (accept) {
driver.switchTo().alert().accept();
} else {
driver.switchTo().alert().dismiss();
}
}
以上是 如何处理硒中的多个警报弹出确认? 的全部内容, 来源链接: utcz.com/qa/260476.html