pytest ---- 重复执行用例(pytest-repeat)【十】

pytest 第十天 -- 重复执行用例(pytest-repeat)
 
场景:在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,然后复现此问题
 
在自动化测试的时候,也会出现偶然的bug,可以针对此用例进行重复执行测试
 
pytest-repeat 是pytest的一个插件,用于重复执行单个用例或者多个用例,并可以指定重复次数
 
使用 --count 命令行选项指定要运行测试用例和 测试次数
 
第一步: 使用命令安装 pip install pytest-repeat
pytest ---- 重复执行用例(pytest-repeat)【十】转存失败重新上传取消pytest ---- 重复执行用例(pytest-repeat)【十】
 
 
 
输入命令:重复执行2次   pytest -s  --count=2   模块.py
 
pytest ---- 重复执行用例(pytest-repeat)【十】转存失败重新上传取消pytest ---- 重复执行用例(pytest-repeat)【十】
 
 
 
方式二:还可以通过标签来 实现重复执行  @pytest.mark.repeat(count) ,直接标记某个用例执行多少次,参数为:重复执行的次数
 
pytest ---- 重复执行用例(pytest-repeat)【十】转存失败重新上传取消pytest ---- 重复执行用例(pytest-repeat)【十】
 
如果你想重复执行测试类,直接用 @pytest.mark.repeat() 标签装饰在该测试类即可,执行顺序是第一个用来执行N次,再执行下一个用来N次,而不是每个用来窒息感一次,共执行N轮
 
有时候,功能模块不稳定,会存在一些错误,可以将 -x 与 pytest-repeat 一起用,强制  运行器在第一次测试失败时停止
 
pytest -s --count=2 -x test_pytest_repeat.py
 
-x 是遇到失败就停止运行      --count 是重复执行
 
 
备注:
也可以设置模块或者类等执行次数: --repeat-scope 类似于 fixture的scope,可以设置session/module/class/function(默认值)
 
pytest -s --count=2 -x test_pytest_repeat.py --repeat-scope=session