1

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

类A.py

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

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

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

并且

B类.py

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

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

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

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

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

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

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

4

1 回答 1

0

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

于 2021-08-09T20:54:34.913 回答