一、在cmd安装repeat

pytest-repeat是pytest的一个插件,用于重复执行单个用例,或多个测试用例,并指定重复次数,pytest-repeat支持的版本:

  • python 2.7,3.4+ 或 PyPy
  • py.test 2.8或更高

pip install pytest-repeat

 二、安装完后,使用方法如下

方法一:在测试用例直接写:@pytest.mark.repeat(n),n代表执行次数,这种方式的执行顺序是每条用例执行N次之后再往下执行其他用例

如果要在代码中标记要重复多次的测试,可以使用@pytest.mark.repeat(count)装饰器

方法二:使用–count命令行选项指定要运行测试用例和测试次数,pytest –count=10 脚本名.py

三、重复测试直至失败

如果您正在尝试诊断间歇性故障,那么一遍又一遍地运行相同的测试直至失败是有用的。您可以将pytest的-x选项与pytest-repeat结合使用,以强制测试运行器在第一次失败时停止。例如:

 pytest –count=1000 -x test_cc.py

这样尝试运行test_cc.py 1000次,但一旦发生故障就会停止

四、其他

1、如果代码里已使用了repeat(count)装饰器,那在命令行执行用例再加上–count=3时,只对无count装饰器的重复3次。

2、repeat-scope

–repeat-scope类似于pytest fixture的scope参数,–repeat-scope也可以设置参数:session,module,class或者function(默认值)

function(默认)范围针对每个用例重复执行,再执行下一个用例
class 以class为用例集合单位,重复执行class里面的用例,在执行下一个
module 以模块为单位,重复执行模块里面的用例,再执行下一个
session 重复整个测试会话,即所有收集的测试执行一次,然后所有这些测试再次执行等等
使用–repeat-scope=session重复执行整个会话用例

1)pytest test_cc.py -s –count=2 –repeat-scope=session

2)pytest test_cc.py -s –count=2 –repeat-scope=class

3)pytest test_cc.py -s –count=2 –repeat-scope=function

 4)pytest test_cc.py -s –count=2 –repeat-scope=module

 

原文地址:http://www.cnblogs.com/Chilam007/p/16911870.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性