我正在使用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 传递驱动程序实例,并将范围设置为类