Как запустить тесты в Pytest параллельно внутри контейнера Docker? - PullRequest
2 голосов
/ 08 апреля 2019

Я столкнулся с проблемой при параллельном запуске тестов GUI внутри контейнера Docker.Я использую кучу: Selenium Webdriver + Pytest + Xdist + Chrome.

Я использую следующую команду для запуска тестов:

pytest -v -n=4 --headless=True --production=True --browser=chrome --dist=loadfile --junitxml=test.xml

Но все тесты не пройдены.Если я делаю то же самое вне док-контейнера или использую 1 поток - он работает нормально.

Итак, как я могу решить эту проблему и параллельно выполнить тесты внутри док-контейнера?Большое спасибо)

У меня есть это в логах:

selenium.common.exceptions.WebDriverException: Message: chrome not reachable   (Session info: headless chrome=73.0.3683.86)   (Driver info: chromedriver=73.0.3683.20 (8e2b610813e167eee3619ac4ce6e42e3ec622017),platform=Linux 4.15.0-46-generic x86_64)

1 Ответ

0 голосов
/ 14 июня 2019

Попробуйте использовать boxed процессов + tx флаг: (--tx 3*popen//python=python3.6 --boxed, поэтому запустите ваши тесты с помощью следующей команды:

pytest -v --headless=True --production=True --browser=chrome --dist=loadfile --junitxml=test.xml --tx 3*popen//python=python3.6 --boxed

Дополнительная информация о том, как вы можете выполнять свои тесты параллельнодоступно под , что ТАК ответ .

Удачи!

...