Skip to main content
 首页 » 编程设计

python-3.x之如何在 Docker 容器内并行运行 Pytest 中的测试

2024年10月24日29luoye11

我在 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 

有关如何并行运行测试的更多信息,请参阅 that SO answer。 .

祝你好运 !