Я столкнулся с проблемой при параллельном запуске тестов 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)
К сожалению, я не могу опубликовать файл докера, команда, которую я использую для запуска докера, это «docker run -it --rm <IMAGE> /bin/bash»
Попробуйте использовать 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
Дополнительная информация о том, как вы можете запускать тесты параллельно, доступна в разделе этот ТАК ответ.
Удачи !
Можете ли вы опубликовать Dockerfile и команду docker, которую вы используете? Также, когда тесты терпят неудачу, выдается ли какая-либо ошибка?