pytest 常用命令


pytest -h
命令行输入pytest -h,找到里面两个命令行参数: --lf 和 --ff
- --lf, --last-failed   只重新运行上次运行失败的用例(或如果没有失败的话会全部跑)
- --ff, --failed-first  运行所有测试,但首先运行上次运行失败的测试(这可能会重新测试,从而导致重复的fixture setup/teardown)
pytest --lf
pytest --ff


如果想分布式执行用例,用例设计必须遵循以下原则:
1.用例之间都是独立的,
2.用例a不要去依赖用例b
3.用例执行没先后顺序,
4.随机都能执行每个用例都能独立运行成功每个用例都能重复运行,不影响其它用例
这跟就我们平常多个人工测试一样,用例都是独立的,可以随机分配不同人员执行,互相不依赖,用例之间也不存在先后顺序。
pytest-xdist


并行测试
多cpu并行执行用例,直接加个-n参数即可,后面num参数就是并行数量,比如num设置为3
> pytest -n 3


测试报告
使用pytest-xdist插件也能生成html报告,完美支持pytest-html插件
>  pytest -n 3 --html=report.html --self-contained-html

重复执行用例:
使用--count命令行选项指定要运行测试用例和测试次数
py.test --count=10 test_file.py
pytest baidu/test_1_baidu.py -s --count=5

会第一个用例运行5次 然后运行第二个用例5次 如果希望 第一个用例 第二个用例这样按顺序重复5次 要用到--repeat-scope

pytest tearr_function.py -s --count=5 --repeat-scope=session

如果要在代码中标记要重复多次的用例 可以使用
@pytest.mark.repeat(count)

这样执行用例时候,就不用带上--count参数,只针对test_02重复执行5次
pytest tearr_function.py -s

果您正在尝试诊断间歇性故障,那么一遍又一遍地运行相同的测试直到失败是有用的。您可以将pytest的-x选项与pytest-repeat结合使用,以强制测试运行器在第一次失败时停止。例如:
> py.test --count=1000 -x test_file.py
这将尝试运行test_file.py 1000次,但一旦发生故障就会停止

转载于:https://www.cnblogs.com/nuonuozhou/p/10470534.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值