我在 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。 .
祝你好运 !