Pytest框架运行常用参数解析

 
 
  1. -s:表示输出调试信息,用于显示测试函数中print()打印的信息。我们在用例中加上一句 print(driver.title),我们再运行一下我们的用例看看,调试信息输出
  2. -v:未加前只打印模块名,加v后--verbose打印类名、模块名、方法名,显示更详细的信息。
  3. -vs:这两个参数可以一起使用
  4. -n:支持多线程或者分布式运行测试用例(需安装:pytest-xdist插件)
    #命令行运行:
    pytest -vs test_login.py -n 2
    # 多线程执行测试用例,第1,3,5用例给线程0,第2,4用例给线程1
    # ----不管用例执行时间多长,比如设置1的等待时长为5秒,也是1,3分给线程0
    
    #主函数运行:
    pytest.main(['-vs','test_login.py', '-n=2'])
    
    #运行指定模块
    pytest.main(['-vs','test_0617.py'])
    
  5. –reruns NUM:失败用例重跑,跑几次(需安装:pytest-rerunfailures插件)
    #命令行运行:
    pytest -vs ./testcase/test_login.py reruns 2
    
    #主函数运行:
    pytest.main(['-vs','./testcase/test_login.py','--reruns=2'])
    
  6. -x:表示只要有一个测试用例报错,则执行停止
  7. –maxfail=2:表示出现2个用例报错,则执行停止。 
    #命令行运行
    pytest -vs ./testcase --maxfail 2
    
    #主函数运行
    pytest.main(['-vs', './testcase', '--maxfail=2'])
    
  8. -k:模糊匹配,测试用例的部分字符串,指定执行测试用例。 
    #命令行运行:
    pytest -vs ./testcase -k "ao"
    
    #主函数运行:
    pytest.main(['-vs', './testcase', '-k=ao'])
    
  9. -q:表示只显示整体测试结果。--quiet :极简结果显示,简化控制台的输出,可以看出输出信息和之前不添加-q信息不一样, 运行结果中两个..点代替了pass结果
  10. –html ./report/report.html:生成html格式的测试报告(需安装:pytest-html插件)
  11. -m:--mark标记
  12. order:改变用例默认的执行顺序
  13. skip:跳过用例
    #无条件跳过
    @pytest.mark.skip(reason="pan4太漂亮")#有条件跳过
    @pytest.mark.skipif(age>=18,reason='已长大成人')
  14. smoke:冒烟用例分布在各个模块,如何分组执行?冒烟用例、分模块、分接口和web执行。可以和 not、or、and 一起使用满足不同的条件筛选
    #执行test_login.py该文件下 不是 smoke标记的用例
    pytest -vs -m "not smoke" test_login.py
    #执行test_login.py该文件下的smoke 和 usermanage标记的用例
    pytest -vs -m "smoke or usermanage" test_login.py  
    #执行所有文件下的smoke 和 usermanage 和 productmange 标记的用例
    pytest -vs -m "smoke or usermanage or productmange"
    #pytest.ini配置文件中增加对应的字段:addopts = -vs,命令行可以不用使用-vs
    pytest -m "smoke or usermanage or productmange"

Pytest框架测试用例规则和运行方式 参考:Pytest框架测试用例规则和运行方式_沫沫18S的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_37600187/article/details/128332400