常用插件
Pytest提供了很多功能插件, 插件列表网址包含很多插件包,大家可依据工作的需求选择使用, 这边介绍三款常用插件
多CPU运行Case - pytest-xdist
当cases量很多时,运行时间也会变的很长,如果想缩短脚本运行的时长,就可以用多进程来运行。插件安装如下:
pip install -U pytest-xdist -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
自定义进程数运行测试用例: -n=auto(自动检测到系统的CPU核数) -n=N(指定运行的CPU核数为N)
......
if __name__ == "__main__":
pytest.main(["-n=N"])
pytest-xdist
默认是无序执行的,可以通过参数--dist=loadscope
来控制顺序:
1. 将同一个模块.py下的函数和同一个测试类class下的方法来分组,然后将每个测试组发给可以执行的worker,确保同一个组的测试用例在同一个进程中执行
2. 目前无法自定义分组,按类class分组优先于按模块module分组
Case失败重跑 - pytest-rerunfailures
在做UI测试时, 短时的网络波动会导致case运行失败, 这并非是我们期望的结果, 此时就可通过重试运行cases的方式来解决问题
插件安装如下:
pip install -U pytest-rerunfailures -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
自定义重跑次数N与重跑延迟时间M/秒
......
if __name__ == "__main__":
pytest.main(["--reruns=N", "--reruns-delay=M"])
注意