[英]How to handle multiple alert popup confirmation in selenium?
如何处理硒中的多个警报弹出确认。 例如:如果接受弹出窗口,它将一次又一次地询问相同的窗口。 如果单击第5次确认/关闭后该弹出窗口关闭,我们该如何处理。
所以请帮我...
如果您知道此警报将弹出的确切次数,则可以使用带有硬编码重试次数的简单循环。 例如:
int retries = 5;
while (retries > 0) {
alertTriggerButton.click();
Alert alert = driver.switchTo().alert();
alert.accept();
retries--;
}
您应该修改此代码,以确保它能够根据您的页面行为运行,因此您认为应该考虑响应时间(换句话说,如果需要,请添加相关的等待时间)。
您可以使用一会儿。 您正在检查警报是否存在,并且每次警报存在时,都将根据您提供的布尔值对其进行解析。 当不再有新警报时,它将中断并继续。
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();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.