问题标签 [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.
python - pytest-xdist IOError:无法发送到
我正在使用 pytest 和 pytest-xdist 来测试 django 应用程序,当我运行时py.test -n 1
出现错误:
以下是我的要求:
有人说这个问题是 execnet 1.2 错误(这里),但我使用的是 execnet 1.4.1
任何人都可以帮忙吗?
python - pytest-xdist: LookupError: setuptools-scm 无法检测到版本
安装时pytest-xdist
,我收到此错误:
我之前能够成功安装 pytest-xdist,但我不确定发生了什么变化:(
python - Pytest Xdist 不同的测试被收集错误
第一次在这里发帖,过去两天我试图搜索解决我的 xdist 问题的方法。当我尝试使用 n=2 或更高的值运行时,有时(我说有时是因为它随机工作)会出现如下错误
抱歉,如果这很容易解决,但是在查看了很多其他帖子之后,我个人觉得我没有找到答案。如果需要更多信息,请告诉我,我会尽快回复!谢谢!
编辑:设置
pytest - pytest-xdist 导致 AttributeError: 'dict' object has no attribute 'style'
目前使用 allure-pytest-adaptor 1.7.8、pytest 3.2.1 和 pytest-xdist 1.20.0
当我使用 xdist 并行运行测试时遇到问题,如果我以串行方式运行测试,则没有这样的问题:
如果只有 1 次失败或没有失败,则能够生成诱惑报告
当一次测试运行出现多个失败时,无法生成诱惑报告、堆栈跟踪和错误信息:
python - 在 pytest/xdist 框架中存储全局配置数据
我正在使用 python + pytest + xdist + selenium 网格构建一个测试框架。该框架需要与预先存在的自定义日志系统对话。作为此日志记录过程的一部分,我需要提交 API 调用:设置每个新的测试运行,在这些测试运行中设置测试用例,并将字符串和屏幕截图记录到这些测试用例。
第一步是设置一个新的测试运行,其 API 调用返回(除其他外)一个测试运行 ID。我需要保留此 ID 以供所有测试用例阅读。我想把它放在某个全局变量中,但是用 xdist 运行我的测试会导致框架失去对值的跟踪。
我试过了:
- 使用“全局”类;它在使用 xdist 时忘记了值。
- 在我的 conftest.py 文件中保存一个全局变量;同样的问题,使用 xdist 时值会被丢弃。到处导入我的 conftest 似乎也是错误的。
- 在 conftest 中放置一个“全局”类;一样。
此时,我正在考虑将其写入临时文件,但这似乎很原始,而且我认为我忽略了一个更好的解决方案。跨多个 xdist 线程存储和访问全局数据的最正确、pytest 风格的方法是什么?
python - 如何使用 pytest-xdist 访问共享资源?
我想访问一个包含所有帐户凭据的列表,以将它们提供给 pytest-xdist 中的每个单独线程。我该如何做到这一点?据我所知,pytest-dist,对于每个启动的线程,它是一个单独的测试会话,它们在内存中分别初始化每个 python 模块。我有一个代码片段示例如下
执行的命令:
输出:
预期输出:
我还尝试使用 https://github.com/pytest-dev/pytest/issues/1402#issuecomment-186299177 中提到的共享资源
使用 pytest-xdist 和不使用它们运行它们,都给出错误
命令:pytest -sv test_parallel_share.py
输出:
命令:pytest -n 2 -sv test_parallel_share.py
输出:
pytest - 具有类范围的 pytest-xdist 间接夹具
我有一些复杂而繁重的逻辑来构建测试对象,并且测试运行时间很长。它们是集成测试,我想尝试将它们并行化一点。所以我找到了 pytest-xdist 库。
由于构建测试对象的繁重性质,我在夹具上使用 pytests 间接功能在测试时而不是在收集时构建它们。我用于测试的一些代码可以在下面找到。
我的运行命令目前是pytest run.py -n 4 --dist=loadscope
当我不使用 loadscope 时,所有测试都发送给他们自己的工作人员。我不想这样做,因为我只想构建一次设备对象并将其用于所有相关测试。
当我使用 loadscope 时,所有测试都是针对 gw0 执行的,我没有得到任何并行性。
我想知道是否有任何我遗漏的调整或者这个功能目前没有实现。
python - pytest-xdist 为每个测试生成随机和唯一的端口
我正在使用 pytest-xdist 插件运行一些测试,使用@pytest.mark.parametrize
不同的参数运行相同的测试。
作为这些测试的一部分,我需要打开/关闭 Web 服务器,并且端口是在收集时生成的。
xdist 在从属设备上进行测试收集并且它们没有同步,所以我如何保证端口生成的唯一性。
我可以为每个从站使用相同的端口,但我不知道如何存档。
selenium - Pytest Xdist 并行执行,防止重新创建数据库
我正在尝试通过使用 4 个线程的并行执行 (-n=4) 来加速我的 python Django Web 应用程序中的 Selenium 测试
在前 4 个测试中,3 个给出以下错误:
我知道我必须指定在并行测试执行之前运行一次设置,以防止多次尝试创建数据库,但是我将如何在 pytest xdist 配置中强制执行此操作?
pytest - 如何使用 pytest + xdist 调整线程数?
为了在移动设备上运行并行测试,我使用 pytest + xdist。
我想运行与连接设备一样多的线程,仅此而已。
我将“-n 4”作为命令行参数传递,但如果我需要 2 个线程而不是 4 个线程,我无法在测试启动后更改它。
如何从我的测试代码中调整线程数?