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

时间:2019-04-08 16:50:10

标签: python-3.x selenium docker pytest xdist

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

1 个答案:

答案 0 :(得分:0)

尝试使用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下提供了有关如何并行运行测试的更多信息。

祝你好运!