pytest多进程运行用例,缩短测试时间
-n 表示多进程执行用例,对线程数进行设置
- 指定线程数,如下所示‘2'表示2个进程同时执行用例,数值要小于等于执行机的cpu核数
- auto,执行用例的时候会使用与计算机具有的cpu内核一样多的进程
前置条件:安装pytest-xdist 插件,安装命令“pip install pytest-xdist”
注意:每个进程执行的测试用例是随机的,不可控,所以测试用例要解耦
1 import os 2 3 import pytest 4 5 # 整个项目的运行入口 6 if __name__ == '__main__': 7 # -n 多进程执行用例,指定进程数 8 pytest.main(['-n','2','--alluredir','./result','--clean-alluredir']) 9 10 # 使用与计算机具有的cpu内核一样多的进程 11 # pytest.main(['-n', 'auto', '--alluredir', './result', '--clean-alluredir']) 12 13 # 根据上一步生成的数据源,生成可读报告 14 os.system('allure generate ./result/ -o ./report_allure/ --clean')
指定线程数,并行执行用例:
使用与计算机具有的cpu内核一样多的进程并行执行用例: