pytestxdist_0">多进程并发跑程序:pytest-xdist记录
pytest -s E:\testXdist\test_dandu.py
pytest -s testXdist\test_dandu.py
pytest -s :是按用例顺序依次跑用例
pytest -vs -n auto E:\testXdist\test_dandu.py
pytest -vs -n auto,auto表示以全部进程 跑用例
pytest -vs -n 4,表示以4个进程 跑用例(一个进程跑一个用例,依次循环)
举列子:
from time import sleepdef test_one():sleep(1)print("用例1")
def test_two():sleep(2)print("用例2")
def test_three():sleep(2)print("用例3")
就是说 跑第2遍用例时,他会优先跑失败的用例,失败用例跑通过后,再跑未失败的用例,或者新添加进来的用例,他谁优先跑新添加进来的用例。
指定分组:
pytest -vs -n 2 --dist=loadgroup,用例按分组跑,如2个用例有上下级依赖关系,就要放在一个组里
pytest -vs -n 2 --dist=loadgroup E:\testXdist\test_group.py
import pytest@pytest.mark.xdist_group(name="group2")
def test1():pass@pytest.mark.xdist_group(name="group1")
def test2():passclass TestA:@pytest.mark.xdist_group("group1")def test3(self):pass
按scoupe分组:
比如按一个类class 下为一个组,给一个进程
https://www.bilibili.com/video/BV1X1eNejEr2/?spm_id_from=333.337.search-card.all.click&vd_source=dd79a1deb8e70d82033174f57e6e28b3