https://www.lexium.ru/2023/06/kak-zapustit-v-windows-neskolko-ehkzemplyarov-avtotesta-odnovremenno/

Как запустить в Windows несколько экземпляров автотеста одновременно?

Возникла гипотеза о том, что один из багов на моём стенде возникает из за одновременных попыток авторизации сразу нескольких автотестов.

Как проверить?

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

  • Во-первых, настройки теста меняют поведение браузера. Так что ручной запуск может быть неинформативным (хотя с этого я и начал).
  • Во-вторых, ну сколько вкладок можно запустить таким образом. Две? Три? А если хочу сразу 10?

Я работаю из под Windows 10, а потому следующим этапом стало создание двух cmd-файлов.

Первый — запускает один автотест. Вот его примерный текст.

starter.cmd

[code]cd C:\pyproject\
venv\Scripts\pytest.exe \tests\test_auth.py
pause[/code]

  • Первая строка переходит в папку проекта.
  • Вторая — запускает нужный мне автотест.
  • Третья — ставит паузу, чтобы окно не захлопнулось сразу после окончания теста. Это на всякий случай.

Второй файл — запускает заданное количество экземпляров первого файла.

multistarter.cmd

[code]cd C:\pyproject\
set x=0
:A
set /a x=%x%+1
start starter.cmd
if not %x%==10 goto :A[/code]

В первой строке мы переходим в папку проекта (где лежит starter.cmd). В последней — задано количество одновременно запущенных экземпляров starter.cmd

Всё. Теперь запускаю multistarter.cmd и наслаждаюсь процессом.

Вместо C:\pyproject\ можно указать путь к папке, где лежат оба ваши cmd-файла.
Вместо venv\Scripts\pytest.exe \tests\crowd_mos_ru\ideas\test_proverka_predlozhit_ideju.py — любую другую программу, которую нужно запустить в нескольких экземплярах.

Все экземпляры автотеста авторизовались и отработали без ошибок. Баг не подтвердился.
А что если один из автотестов использует логаут? Пошёл копать код в поисках подобной неприятности.

А с вами был Доктор Лексиум. До новых постов.

Напишите комментарий