问题标签 [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.

0 投票
1 回答
1213 浏览

python - pytest-xdist IOError:无法发送到

我正在使用 pytest 和 pytest-xdist 来测试 django 应用程序,当我运行时py.test -n 1出现错误:

以下是我的要求:

有人说这个问题是 execnet 1.2 错误(这里),但我使用的是 execnet 1.4.1

任何人都可以帮忙吗?

0 投票
1 回答
2854 浏览

python - pytest-xdist: LookupError: setuptools-scm 无法检测到版本

安装时pytest-xdist,我收到此错误:

我之前能够成功安装 pytest-xdist,但我不确定发生了什么变化:(

0 投票
2 回答
1812 浏览

python - Pytest Xdist 不同的测试被收集错误

第一次在这里发帖,过去两天我试图搜索解决我的 xdist 问题的方法。当我尝试使用 n=2 或更高的值运行时,有时(我说有时是因为它随机工作)会出现如下错误

抱歉,如果这很容易解决,但是在查看了很多其他帖子之后,我个人觉得我没有找到答案。如果需要更多信息,请告诉我,我会尽快回复!谢谢!

编辑:设置

0 投票
1 回答
580 浏览

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 次失败或没有失败,则能够生成诱惑报告

当一次测试运行出现多个失败时,无法生成诱惑报告、堆栈跟踪和错误信息:

0 投票
2 回答
467 浏览

python - 在 pytest/xdist 框架中存储全局配置数据

我正在使用 python + pytest + xdist + selenium 网格构建一个测试框架。该框架需要与预先存在的自定义日志系统对话。作为此日志记录过程的一部分,我需要提交 API 调用:设置每个新的测试运行,在这些测试运行中设置测试用例,并将字符串和屏幕截图记录到这些测试用例。

第一步是设置一个新的测试运行,其 API 调用返回(除其他外)一个测试运行 ID。我需要保留此 ID 以供所有测试用例阅读。我想把它放在某个全局变量中,但是用 xdist 运行我的测试会导致框架失去对值的跟踪。

我试过了:

  • 使用“全局”类;它在使用 xdist 时忘记了值。
  • 在我的 conftest.py 文件中保存一个全局变量;同样的问题,使用 xdist 时值会被丢弃。到处导入我的 conftest 似乎也是错误的。
  • 在 conftest 中放置一个“全局”类;一样。

此时,我正在考虑将其写入临时文件,但这似乎很原始,而且我认为我忽略了一个更好的解决方案。跨多个 xdist 线程存储和访问全局数据的最正确、pytest 风格的方法是什么?

0 投票
0 回答
1517 浏览

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

输出:

0 投票
0 回答
483 浏览

pytest - 具有类范围的 pytest-xdist 间接夹具

我有一些复杂而繁重的逻辑来构建测试对象,并且测试运行时间很长。它们是集成测试,我想尝试将它们并行化一点。所以我找到了 pytest-xdist 库。

由于构建测试对象的繁重性质,我在夹具上使用 pytests 间接功能在测试时而不是在收集时构建它们。我用于测试的一些代码可以在下面找到。

我的运行命令目前是pytest run.py -n 4 --dist=loadscope

当我不使用 loadscope 时,所有测试都发送给他们自己的工作人员。我不想这样做,因为我只想构建一次设备对象并将其用于所有相关测试。

当我使用 loadscope 时,所有测试都是针对 gw0 执行的,我没有得到任何并行性。

我想知道是否有任何我遗漏的调整或者这个功能目前没有实现。

0 投票
1 回答
271 浏览

python - pytest-xdist 为每个测试生成随机和唯一的端口

我正在使用 pytest-xdist 插件运行一些测试,使用@pytest.mark.parametrize不同的参数运行相同的测试。

作为这些测试的一部分,我需要打开/关闭 Web 服务器,并且端口是在收集时生成的。

xdist 在从属设备上进行测试收集并且它们没有同步,所以我如何保证端口生成的唯一性。

我可以为每个从站使用相同的端口,但我不知道如何存档。

0 投票
2 回答
1851 浏览

selenium - Pytest Xdist 并行执行,防止重新创建数据库

我正在尝试通过使用 4 个线程的并行执行 (-n=4) 来加速我的 python Django Web 应用程序中的 Selenium 测试

在前 4 个测试中,3 个给出以下错误:

我知道我必须指定在并行测试执行之前运行一次设置,以防止多次尝试创建数据库,但是我将如何在 pytest xdist 配置中强制执行此操作?

0 投票
2 回答
991 浏览

pytest - 如何使用 pytest + xdist 调整线程数?

为了在移动设备上运行并行测试,我使用 pytest + xdist。

我想运行与连接设备一样多的线程,仅此而已。

我将“-n 4”作为命令行参数传递,但如果我需要 2 个线程而不是 4 个线程,我无法在测试启动后更改它。

如何从我的测试代码中调整线程数?