установить возможность в спокойствии игнорировать исключение UnhandledAlertException - PullRequest
0 голосов
/ 09 ноября 2018

Я только начал работать с 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
    }
}

1 Ответ

0 голосов
/ 12 ноября 2018

для Chrome ответ:

chrome.capabilities.handlesAlerts = true

Этот код эквивалентен коду:

cap.setCapability(CapabilityType.SUPPORTS_ALERTS, true);

Источник: https://johnfergusonsmart.com/configuring-chromedriver-easily-with-serenity-bdd/

Я ищу эквивалент для Firefox, но до сих пор ничего не нашел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...