Как оптимизировать тесты testng и seleniums

На стажировке я должен использовать TestNG и селен для тестирования веб-приложения. Но у меня есть проблема, иногда селен или браузер не работают по какой-то случайной причине, поэтому рабочий тест помечается как «неуспешный». Чтобы избежать этого, я могу использовать аннотацию @Test (invocationCount = 4, successPercentage = 25) , тогда, если тест успешен один раз, тест помечается как «Успешно», это хорошо, но проблема в что это решение умножает время тестирования на 4, это не очень эффективно.

Что я могу сделать, чтобы сократить время тестирования, так это написать какое-то правило: «если тест не удался, перезапустите этот тест (и только если тест не прошел), и если он сработал, второй, третий или четвертый время, затем отметьте этот тест как «успешный» «Так я могу избежать этих случайных ошибок. Но я не нашел, как написать это правило, я увидел, что мы можем добавить слушателя, поэтому у нас есть метод под названием « onTestFailure », чтобы я мог что-то сделать, когда тест не удался, но я этого не делаю. не знаю, как повторно запустить тест.

Я также нашел testng-failed.xml, в котором сохранены все неудачные тесты, поэтому мы можем запустить этот xml-файл для повторного запуска этих тестов, но при этом будет удален отчет из предыдущего первого запуска, но я хочу, чтобы тесты помечаются как «успешные», если второй запуск прошел успешно. (Я интегрировал testNG / selenium в Jenkins, поэтому у меня есть график со всеми тестами, поэтому этот метод не очень адаптирован, но этот метод не умножает время тестирования на 4, и это то, что я хочу)

Так что, если вы знаете, как это сделать, было бы очень хорошо.

5
задан ROMANIA_engineer 8 December 2016 в 09:54
поделиться