Есть ли возможность при использовании Pytest + Selenium отключать сразу определенные test-suits или целые пакеты? Не очень удобно у каждого неактуального на данный момент теста прописывать @pytest.mark.skip(reason=" ")
В документации к pytest я что-то не нашел
Не совсем понятно для чего именно это надо.
Обычно эти группы тестов чем-то обусловлены (скорость выполнения, проверяемая область приложения, приоритет теста и т.д.) Для таких случаев логично выглядит механизм, которые предоставляют @pytest.mark (но ты вроде и сами про них пишешь… если я не правильно понял - уточни).
Можно потратить какое-то время и проставить эти метки (можно не всё сразу, а именно то что нужно в этот раз запустить - так постепенно появятся разные наборы) и потом запускать примерно так:
- перед тестами пишем @pytest.mark.smoke или @pytest.mark.login
- потом запускаем: pytest -m smoke или pytest -m login и т.д.
на всякий случай ссылка на доки: Working with custom markers — pytest documentation
Спасибо за ответ.
Постараюсь объяснить, зачем мне это надо. Когда пишу тесты, то я сперва их гоняю на локалке и они отрабатывают отлично, а при запуске на удаленном сервере через дженкинс, некоторые тесты почему-то крэшатся. И поэтому приходится делать рефакторинг и заново запускать, проверять. И чтобы не гонять все тесты, хотелось бы отключать их не по одному, а целыми пакетами или съютами.
Наверное локально у вас к примеру винда, а там - линукс?
Да нет, и там, и там windows
Если надо отдебажить - то самое простое запускайте отдельно новый тест удалённо и только потом вливайте в репозиторий.
Как вариант на дженкинсе вынести параметр(марку), которую пробрасывать в вызов pytest - и запускать нужные тесты или благодаря not $mark все кроме каких-то определённых, смотря что хотите
Спасибо
если это то, что нужно - закрывайте тему