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

Python pytest loop executing of one test

Теги: #<Tag:0x00007f748a8b2b48> #<Tag:0x00007f748a8b2a80> #<Tag:0x00007f748a8b2918> #<Tag:0x00007f748a8b2710> #<Tag:0x00007f748a8b25d0>

Здравствуйте!
Пытаюсь организовать нонстоп тестирования в pytest, хотелось бы узнать как это делается. Опыта нету совсем, прошу не опускать детали. Пакет repeat для pytest не подходит, так как повторяет каждый шаг отдельно, необходимы полные рераны теста после завершения (вариативно - n раз или ностоп циклы).

На данный момент даже представления нету куда лезть и что делать, убил пол дня на поиск и кроме repeat и кустарных аналогов ничего не нашел.

python 3.8.1; windows 10, pytest 5.4.3, pip 20.1.1

Не знаю, конечно, зачем это вам нужно, но если вы про мониторинг приложения, то такие запуски по расписанию обычно настраивают либо в джобе CI, либо добавляют в CRON задачу через утилиту crontab.

1 Симпатия

Что мешает написать скрипт на питоне, который через subprocess будет нон-стопно запускать раны - так же непонятно

Как я написал выше, опыта в этом нету и в целом не так что бы много, задача стоит мониторить. Спасибо за наводку.

Большое спасибо, возможно именно ваш ответ поможет решить этот вопрос.

Сорри, но я не понимаю: пайтест “есть”, а опыта “нет”; это вообще легально?
Не представляю как можно в принципе пользоваться пайтестом без пайтон бэкграунда

Наверняка как обезьяна плазменным резаком, но для текущих задач пока хватает, про мониторинг только инфы не шибко много, вот и спросил совета.

Ок, понял
В таком случае опишите “что надо получить на выходе” более конкретно
Т.к. не совсем понятны ваши определения “повторяет каждый шаг отдельно” и “полные рераны теста”
pytest-repeat не подходит потому, что он ранит N раз каждый тест из файла, а вы хотите, условно, прогнать файл (пачку файлов) N раз последовательно (возможно с задержкой между прогонами), верно? А куда результаты этих прогонов пойдут, кем будут просматриваться и т.д., в общем надо понимать конечную цель, нахрена все это надо, если угодно

На данный момент - делать полное выполнение py файла, собирать статистику в репортер (алур) и повторять n раз в сутки. Repeat повторяет 1 функцию несколько раз и переходит к следующей, это не совсем подходит для сбора статистики. Результат будет идти девам и пмам для отображения состояния продукта и соответствующим решениям. Буду рад любому совету.

Ок, в принципе нового ничего не подскажу, Максим выше уже изложил варианты: любой удобный вам планировщик задач с запуском по расписанию, будь то джоба в CI, крон, виндовый скедьюлер. Jenkins CI, например, может показаться тяжеловатым, но позволит более гибко настроиться, чем обычный планировщик.
Конкретных примеров/ответов не будет, т.к. все индивидуально, но покопав в тот же дженкинс - создадите новую тему с вопросами, если появятся

Спасибо за помощь.