Как продолжить выполнение, когда утверждение не выполнено
-
28-10-2019 - |
Вопрос
Я использую 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 /
Измените свои утверждения на подтверждения:
родовое словоЯ снова добавляю один из самых простых способов продолжить работу при ошибке утверждения.Об этом спрашивали здесь .
родовое словоКак только утверждение не выполняется, выполнение должно останавливаться, в этом смысл их использования.
Вы можете объявить утверждение, которое проверяет обе вещи, но тогда вы проверяете две вещи одновременно.Лучше устранить причину первого сбоя, а затем перейти ко второму утверждению.