Как запустить каждый проект со своим собственным работником одновременно?

#typescript #parallel-processing #playwright

#машинописный текст #параллельная обработка #драматург

Вопрос:

Я разработал набор тестов с драматургом (машинопись), в котором есть 4 проекта (каждый проект должен запускать набор в нашем интернет-магазине в разных странах: SE, DK, Nl, NO).

Запуск пакета, скажем, с 4 рабочими, не ограничивает 1 работника для каждого проекта, поэтому я могу одновременно выполнить два теста на DK, которые могут мешать друг другу, так как у меня есть только 1 пользователь, который может запускать эти тесты.

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

Есть ли у кого-нибудь из вас на примете установка, которая могла бы это сделать?

Примечание: Моя настройка-это специальная конфигурация, которая отправляет URL-адрес для конкретной страны, имя пользователя и пароль для каждого проекта. Все тесты повторно используются в каждой стране.

Ответ №1:

Временное Решение:

Я установил npm, запустите весь пакет и запустите мои сценарии следующим образом:

 "test-dk-headless-retry": "playwright test --headed --workers=1 --retries=3 --project=DK-Webshop", "test-se-headless-retry": "playwright test --headed --workers=1 --retries=3 --project=SE-Webshop", "test-no-headless-retry": "playwright test --headed --workers=1 --retries=3 --project=NO-Webshop", "test-nl-headless-retry": "playwright test --headed --workers=1 --retries=3 --project=NL-Webshop", "test-parallel": "npm-run-all -p test-dk-headless-retry test-se-headless-retry test-no-headless-retry test-nl-headless-retry"  

Таким образом, «параллельный тест» будет запускать все мои проекты с 1 работником одновременно, но все проекты одновременно. Это также работает с моей отчетностью allure и все равно будет сообщать ОБО ВСЕХ проектах. Так что пока все в порядке. В конечном итоге я бы переместил его для запуска на их собственной машине, расширив это.

Оставьте этот ответ здесь, если кто-нибудь столкнется с подобной проблемой. Если у кого-то есть «умное» решение, пожалуйста, поделитесь.