Как продолжить выполнение, когда утверждение не выполнено

StackOverflow https://stackoverflow.com/questions/5402412

Вопрос

Я использую Selenium RC с использованием Java с фреймворком eclipse и TestNG.У меня есть следующий фрагмент кода:

родовое слово

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

Это было полезно?

Решение

Selenium IDE использует verify для выполнения мягкого утверждения, что означает, что тест будет продолжаться, даже если проверка не удалась, и либо сообщит об ошибках в конце теста, либо в случае жесткого утверждения.

С TestNG можно получить эти мягкие утверждения с помощью настраиваемых тестовых прослушивателей.Я задокументировал, как это сделать, в своем блоге: http://davehunt.co.uk/2009/10/08/using-soft-assertions-in-testng.html

По сути, вам нужно создать свои собственные методы verify*, в которых вы можете перехватывать ошибки утверждения и добавлять их на карту.Затем в настраиваемом прослушивателе afterInvocation вы можете указать, что тест не пройден, если карта не пуста.

Другие советы

Я предлагаю вам использовать мягкие утверждения, которые изначально предусмотрены в TestNg

родовое слово

Источник: http://rameshbaskar.wordpress.com/2013/09/11 / soft-assertions-using-testng /

Измените свои утверждения на подтверждения:

родовое слово

Я снова добавляю один из самых простых способов продолжить работу при ошибке утверждения.Об этом спрашивали здесь .

родовое слово

Как только утверждение не выполняется, выполнение должно останавливаться, в этом смысл их использования.

Вы можете объявить утверждение, которое проверяет обе вещи, но тогда вы проверяете две вещи одновременно.Лучше устранить причину первого сбоя, а затем перейти ко второму утверждению.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top