问题标签 [pytest-xdist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
selenium - Selenium Grid 和 pytest-xdist 插件有什么区别?
我是并行测试的新手,我想知道它们之间有什么区别。
显然,pytest-xdist 不需要 Selenium Grid 来运行。它可以单独与 Selenium 一起使用。
有没有人有任何线索或资源可以让我了解差异?
谢谢和亲切的问候。
plugins - Pytest-xdist 无法识别作为脚本执行的自定义 pytest 插件
我有以下模块,它充当执行 pytest 的脚本。
当我在没有 pytest-xdist 的情况下正常运行脚本时,该脚本按预期工作。
但是当我使用 pytest-xdist 时,它无法识别基于自定义插件的标记和 collection_modifications。
在正常运行以及使用 xdist 时附加输出
如何让 pytest-xdist 在并行执行测试时运行自定义插件?
python - 通过 pytest xdist 在 python selenium 中并行运行时测试失败,但按顺序运行良好
当我运行以下代码时
pytest .\tests\GET\test_setupFunc.py
它工作得很好,即 setup(my_fixture) 函数运行一次然后 test_one 和 test_two
如果我使用pytest-xdist并行运行它
pytest .\tests\GET\test_setupFunc.py -n=2
它失败
我认为 my_fixture 正在被两个测试调用,因为我已经设置了scope="session"
应该共享的函数。
一旦该功能成功运行,我希望并行性应该得到触发
========== 简短的测试摘要信息 =========
错误测试\GET\test_setupFunc.py::test_one - selenium.common.exceptions.WebDriverException:消息:未知错误:无法删除旧的 devtools 端口文件。也许...
如果您打算运行它,请在添加代码步骤中用您的系统用户名替换您的用户名
'''
另请注意,如果我删除selenium
相关步骤并仅保留打印语句,它可以正常工作
预期结果
- setup 方法被调用一次 2 个方法应该被调用一次 setup 成功运行一次
pytest-parallel
不支持 python 3.9 但也尝试过
python - 当远程模块具有 pytest_collection_modifyitems() 时,Pytest-xdist 抛出 AssertionError
我有一个需要由 xdist 执行的远程脚本,我通过钩子 pytest_xdist_getremotemodule() 给出它,我正在执行一些集合更改,这些更改对所有节点都是通过 pytest_collection_modifyitems() 通用的,但是在 runtestloop 期间,工作人员失败了断言错误
测试脚本有一个简单的断言语句 1==1
当我从远程脚本中删除 pytest_collection_modifyitems() 函数时,程序可以正常工作。有人可以帮我理解这个问题的原因吗?
pytest - 多线程 Pytest
我想在 PyTest 中创建一个测试,它将同时打开两个 Chrome 和 Firefox 浏览器,并使用有效和无效的输入集一个接一个地测试两个测试用例。我应该如何实现它?
感谢您的高级帮助。
python-3.x - pytest 找不到数据库和表
我正在尝试通过使用来加速测试运行时pytest-xdist
,以前我使用 pytest、pytest-django 来运行测试,
安装后pytest-xdist
,我面临的一个问题是大多数测试都失败,并显示关系不存在的消息
pytest -n auto accounts/tests
例如
psycopg2.errors.UndefinedTable: relation "auth_user" does not exist
我猜有错误说数据库不存在:
django.db.utils.OperationalError: FATAL: database "test_dev" does not exist
但有趣的是一些测试正在通过:(
pytest - 使用 pytest 运行并行测试套件,而无需在每个测试套件中重新排序测试
我正在尝试一次执行多个 pytest 套件,即使用 pytest 使用 pytest-xdist 包并行执行。
例如,我有两个测试套件
- test_one.py
- test_two.py
pytest test_one.py test_two.py -n 2
但是,这是在 test_one.py 和 test_two.py 中随机重新排序我的测试并运行测试。有什么方法可以使两个测试套件并行运行,但在每个套件内按顺序进行测试?
python - 如何指定pytest中每个测试使用的核心数?
我正在使用 pytest-xdist 来并行化我的测试。我正在使用的机器有 12 个内核。我的一半测试在每个测试中使用 2 个进程,而另一半测试只使用一个进程(正常的单进程)。
目前我将 addopts = -n6 添加到我的 pytest.init 文件中,因为某些测试实际上需要两个进程(6 * 2 = 12,或我机器上的所有可用内核)。我想知道是否可以指定每个测试使用的核心数量?
例如,所有使用 2 个进程的测试我都会这样标记它,并且 pytest-xdist 理想情况下会知道从它的工作池中为这些测试占用 2 个进程。然后我可以更改我的 pytest.ini 以包含 addopts = -n12?我无法通过阅读文档来弄清楚如何做到这一点,也许这是不可能的。
非常感谢!
pytest - 在 pytest-html 中,有没有办法组合 2 个不同 pytest 运行的 html 报告?
基本上我有一个场景,我需要分别运行一组并行 pytest 和另一组串行 pytest。每个都会生成单独的 pytest-html 报告。但我正在寻找结合生成的报告的解决方案。例如: py.test -n auto -m "not serial" --dist=loadfile --html=report1.html py.test -n auto -m "serial" --dist=loadfile --html=report2.html
有没有办法结合 report1.html 和 report2.html 并生成单个 html 报告?
python - 如何使用 pytest 夹具中的实例化页面对象
我是 python 新手并使用 pytest 构建我的 UI 测试框架。我想在调用类的方法之前用用户(不固定)登录一次。我将驱动程序实例化为 -
conftest.py
现在在我的测试文件中,我定义了一个带有 scope= class 的夹具,并像这样实例化了我的所有页面-
现在,由于我没有从设置装置返回页面对象,因此我无法直接在我的函数中访问它们。有什么方法可以定义我的类设置,以便它使用 conftest 夹具中定义的浏览器实例;让我登录并初始化我的所有页面以供其中的方法使用。
非常感谢您对此的任何帮助。