Pytest框架运行常用参数解析

  • Post author:
  • Post category:其他



  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博客



版权声明:本文为weixin_37600187原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。