Как повторно запустить конкретный тест pytest на основе ошибки вывода

#python #appium #pytest #allure #pytest-mock

#python #appium #pytest #очарование #pytest-макет

Вопрос:

Скажем, если appium выдает ошибку исключения webdriver, только тогда этот конкретный тест должен быть повторно запущен в pytest

Комментарии:

1. pytest --lf перезапустит все тесты, которые завершились неудачей при предыдущем запуске ( lf = «последний сбой»). pytest --lf -x будет повторно запущен только первый тест, который не удался при предыдущем запуске. Если вы хотите запустить определенный тест, передайте его идентификатор узла в качестве параметра, например pytest tests/test_module.py::test_func_name . Идентификаторы узлов неудачных тестов печатаются в специальном разделе в конце вывода.

Ответ №1:

Для достижения этой цели используйте библиотеку pytest-rerunfailures. Это плагин для pytest.

Ниже приведены требования к его использованию.

Python 3.6, до 3.8 или PyPy3

pytest 5.0 или новее

После установки вы можете передать --only-rerun аргумент с помощью pytest и повторно запустить конкретный неудачный тест.

 $ pytest --reruns 5 --only-rerun AssertionError