Я только начал работать с Cucumber + Serenity.
Я хотел бы игнорировать исключение UnhandledAlertException.
Вот как можно настроить возможности Chrome в Selenium
capabilities.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
Но я не уверен, что следует использовать в файле serenity.properties, чтобы игнорировать необработанные предупреждения.
chrome.capabilities.unexpectedAlertBehaviour = ignore
Это правильно? Проблема в том, что я не могу проверить это поведение, так как непредвиденное исключение предупреждения не появляется во всех запусках.
Итак, я получу отзыв о том, работает ли указанное выше свойство, только если тест не пройден (что я не могу воспроизвести)
По крайней мере, приведенный ниже код не работает для меня сейчас, поэтому я решил использовать глобальные настройки вместе с методом ниже:
private void dismissAlertIfPresentAtStartOfScenario()
{
try
{
Alert alert = REAL_DRIVER.switchTo().alert();
String text = alert.getText();
alert.dismiss();
LOGGER.warn("Dismissed alert [{}] at start of this scenario!", text);
}
catch (NoAlertPresentException e)
{
// ignore the exception and do nothing, no alert is expected at the start of the scenario
}
}