rerunfailures
插件:pip install pytest-rerunfailures
功能:设置失败用例重跑的次数和延迟重跑时间
运行方式:命令行和python装饰器
- $ pytest --reruns 5 测试用例
- $ pytest --reruns 5 --reruns-delay 3 测试用例
- @pytest.mark.flaky(reruns=3, reruns_delay=2)
assume
assert断言失败一次后不再执行,用assume插件可以多次执行失败断言
pip install pytest-assume
pytest.assume()
分布式并发执行:pytest-xdist
pytest-xdist的出现就是为了让自动化测试用例可以分布式执行,从而节省自动化测试时间分布式执行用例的设计原则:
- 用例之间是独立的,用例之间没有依赖关系,用例可以完全独立运行
- 【独立运行】用例执行没有顺序,随机顺序都能正常执行
- 【随机执行】每个用例都能重复运行,运行结果不会影响其他用例
安装插件:pip install pytest-xdist
使用方法:多cpu并行执行用例,直接加个-n参数即可,后面num参数就是并行数量,比如num设置为3 pytest -n 3 测试用例
控制用例的执行顺序:pytest-ordering
安装插件:pip install pytest-ordering
使用方法:
@pytest.mark.run(order=2) 代表第2个执行
注意:尽量不要让测试用例有顺序,尽量不要让测试用例有依赖!