如何在 Docker 容器内并行地在 Pytest 中进行 运行 测试?

How to run tests in Pytest in parallel inside the Docker container?

我 运行 在 Docker 容器内并行测试 运行 宁 GUI 时遇到问题。我用了一堆:Selenium webdriver + Pytest + Xdist + Chrome.

我使用以下命令 运行 测试:

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

但是所有的测试都失败了。如果我在 docker 容器外执行相同操作或使用 1 个线程 - 它工作正常。

那么,如何解决这个问题并在 docker 容器内并行执行测试?非常感谢)

我在日志中有这个:

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)

尝试使用 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

有关如何 运行 并行测试的更多信息,请参见

祝你好运!