Возможно ли в Webdriver Python автоматически перезапускать failed тесты?

webdriver
python
Теги: #<Tag:0x00007fedb986eda0> #<Tag:0x00007fedb986ec60>

(Alex Vasilkovskiy) #1

Как в коде прописать что б тест начался сначала?

if
driver.find_element.... находит что мне надо, то тест прошел.

else: ...перезапускает все с начала


(rmerkushin) #2

Ну для pytest есть что то вроде этого http://pytest.org/latest/xdist.html#looponfailing а вообще, делать перезапуск теста в коде самого теста это как то очень не правильно на мой взгляд :smile:


(Саня Кваско) #3

Можно циклом сделать,
while(true)
if(...){
break;
}
Ну или цикл на какое-то количество итераций.


(Stan) #4

В любой непонятной ситуации используй костыли (с)

Органихуйте это на уровне раннера, который бы в зависомости от результата теста (или тестов) делал бы какие-то действия. Ответьте на вопрос - вы сами не знаете что произойдет в тесте? они не стабильны? они совершают рандомные действия? Если так, то чем больше костылей вы вобъете, тем труднее будет их поддерживать и тем бесполезнее будут сами тесты.


(Alex Vasilkovskiy) #5

Наконец-то нашел что искал! Плагин для py.test Flaky перезапускает все failed тесты заданое количество раз! Супер!


(Денис Корейба) #6

А можно как-то то же самое делать на C# NUnit?


(rmerkushin) #7

Ну первое что попалось в гугле: https://github.com/slvnperron/NUnit-retry


(Денис Корейба) #8

Да, читал о таком. Обновлялось последний раз 2 года назад. Были еще тогда какие-то проблемы с ним.