Разве мы не должны использовать обработку исключений, когда мы используем TestNG в Selenium? - PullRequest
0 голосов
/ 17 октября 2018

Я работаю над фреймворком на основе ключевых слов селена.Я использую обработку исключений для методов, которые вызывают ключевые слова.Ниже приведен один из методов, которые я использую.

public void adminvehicletitle(WebElement vehicletitle, String title) {
        LogUtilities.info("------------ Entering vehicle title on admin post vehicle page --------");
        try {
            vehicletitle.sendKeys(title);
            LogUtilities.info("------------ Vehicle title Entered successfully on admin post vehicle page --------");
        }
        catch(Exception e) {
            LogUtilities.error("------------ "+e+" --------");
        }
    }

Теперь я сделал так, чтобы заголовок транспортного средства отображался как ни один, поэтому он не виден.Когда я запускаю тест с TestNG, он проходит сейчас, хотя в журналах он показывает ошибку.В отчетах также показано, что все тестовые примеры пройдены.

Так что мой вопрос сейчас таков: не следует ли нам использовать обработку исключений с TestNG?Может кто-нибудь ответить на это, пожалуйста?

Спасибо.

1 Ответ

0 голосов
/ 18 октября 2018

В разработке тестов проглатывание исключения является неправильной практикой.Вы должны бросить обратно в тесте.Если тест выбрасывает ожидание, то в обычном положительном случае это случай с ошибкой.Так что это должно быть помечено как провал.Если вы попробуете перехватить, testng не пометит его как сбой.

Поскольку методы Selenium выдают исключение RunTimeException, в вашем случае он не будет явно выбрасывать здесь.

Если вы заинтересованы в регистрацииза исключением случая сбоя, используйте testng listner для регистрации на основе результатов теста.

См. этот блог для примера.

Если вы хотите войти, когда естьэто ожидание

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