使用 Pytest,我找不到一次并行运行 2 个测试类的方法,而每个类都有几个测试?



我正在使用Pytest,并具有以下测试结构:

ClassA.py

---------------test_a

---------------test_b

---------------test_c

而且

ClassB.py

---------------test_d

---------------test_e

---------------test_f

我正在通过终端命令运行我的测试 (即:pytest -v -s ClassA.py(

我的问题: 有没有办法并行运行 ClassA 和 ClassB(你可能会说 2 个实例(, 同时保持每个班级的秩序 - 分别? 这意味着我希望来自 ClassA 的所有测试都将在第一个浏览器实例上运行,而来自 ClassB 的所有测试都将在不同的实例上运行。

我也熟悉使用"pytest-xdist"插件并行测试执行。 但是一旦使用它,ClassA 和 ClassB 中的测试用例就会以混合顺序执行,所以这对我不利。

编辑:我的主要目的是避免test_a在单独的浏览器实例上运行test_b。 我希望每个类的测试在同一浏览器实例上运行

是的,这是可能的。使用 pytest-order 插件标记测试,并使用 pytest n 2 --dist loadfile。它将在一个浏览器中运行 A 类测试,然后在第二个浏览器中启动 B 类测试。确保从 conftest 传递驱动程序实例,并将范围设置为类

相关内容

  • 没有找到相关文章

最新更新