如何处理硒中的多个警报弹出确认?

如何处理硒中的多个警报弹出确认。例如:如果接受弹出窗口,它会一次又一次询问同一个窗口。如果在点击第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

回到顶部