Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Перезапуск провалившегося тестового сценария в behave.

python
testng
Теги: #<Tag:0x00007f7b61947120> #<Tag:0x00007f7b61946fe0>

(Ivan Grebenschikov) #1

Возникла необходимость перезапуска провалившегося сценария.
Для автоматизации применяется behave. В классе сценария есть метод replay(), но по нему никакой информации не обнаружил ни в оф.документации к behave, ни в гугле.
Может кто сталкивался с подобным?


(Stan) #2

Вы же видели, прямо там в классе документацию? http://pydoc.net/Python/behave/1.2.4/behave.formatter.rerun/


(Ivan Grebenschikov) #3

Да, видел. Но насколько я понял там формируется новый feature-файл с “упавшими” сценариями, которые можно будет перезапустить после прохождения всего(всех) feature-файлов.
В исходном вопросе не указал, что мне хотелось бы перезапустить сценарий сразу после того, как тот провалился.


(Stan) #4

Мне кажется это достаточно просто реализовывается через

def after_step(context, step):
    if step.status == "failed":
        ...

(Ivan Grebenschikov) #5

Ну, этот вариант очевидный. Правда в контексте сообщения, думаю, стоит использовать ф-ию after_scenario. А так, думал найти какой-нибудь вариант “из коробки”.
Спасибо за рекомендации.