pytest-xdist这款插件允许用户将测试并发执行(进程级并发).
pytest-xdist工作原则:用例之间没有依赖关系,用例可以完全独立运行
pytest-xdist工作原理:xdist里有master和worker的概念.master负责整个测试任务的调度, 而worker则是实际执行测试的宿主进程。
workers开始/结束执行时, 测试结果会发回到master,master 在节点执行完一个测试后, 基于测试执行时长以及每个节点剩余测试项综合决定是否向这个节点发送更多的测试项。
命令行执行:pytest -n 4
4代表测试人员希望分配4个cpu进程去并行执行用例
pytest -n num --dist=loadfile
按照同一个文件名来分组,然后将每个测试组发给可以执行的worker,确保同一个组的测试用例在同一个进程中执行
在项目根目录下创建 pytest.ini 文件,运行时会自带设置的参数,比如多进程 -n 2,–alluredir path 等等
[pytest]
addopts= -s --alluredir report/reportpy -n 2
这样我们在终端输入的时候就不用每次都输入参数了,因为它会默认带上