t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f748c7eef70> #<Tag:0x00007f748c7eee80>

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

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

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

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

4 Симпатий

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

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

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

1 Симпатия

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

2 Симпатий

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

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

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