• Pytest自动化测试实战之执行参数


    上一篇介绍了如何运行pytest代码,以及用例的一些执行规则,执行用例发现我们中间print输出的内容,结果没有给我们展示出来,那是因为pytest执行时,后面需要带上一些参数。

    参数内容

    我们可以在cmd中通过输入 pytest -h 或者pytest --help 来查看帮助内容

    奈何安静屏幕小,只写了一部分。

    安静这么多一点点的给大家介绍,有的安静也没有遇到过,在后续遇到后,给大家分享,安静先把常用的给大家列出来,并且举例说明

    安静简单的用一段代码进行展示,后面有需要补充的,安静会进行在代码中补充。

    1. import pytest
    2. class Test_01:
    3. def test_001(self):
    4. print('Test_01下的用例001')
    5. assert 1 == 1
    6. def test_002(self):
    7. print('Test_01下的用例002')
    8. assert 1 == 2
    9. def test_003(self):
    10. print('Test_01下的用例003')
    11. assert 3 == 3
    12. if __name__ == '__main__':
    13. pytest.main()

     

    pytest - s

    -s:执行用例,携带详细信息,比如打印的print内容

    通过cmd进行执行,发现已经详细内容展示出来了

    pytest -x

    -x:遇到错误的用例,立即退出执行,并输出结果

     

    从上图可以看到一共3条用例,执行了2条,其中执行到第2条的时候就已经程序就退出了。

    pytest -k

    -k:表示加需要执行的用例项,-k后面可以是测试函数名,也可以是类名,也可以是模块名,以及目录名称

    也可以通过加入not来不执行一些用例,这里的not要和用例名放在一起用引号

     

    pytest xxx.py

    ::类::用例:可以通过这种形式进行指定用例执行

    pytest -m

    -m:执行被标记的用例

    标记需要用到pytest中的装饰器  @pytest.mark.标记名称 

    1. import pytest
    2. class Test_01:
    3. @pytest.mark.anjing
    4. def test_001(self):
    5. print('Test_01下的用例001')
    6. assert 1 == 1
    7. def test_002(self):
    8. print('Test_01下的用例002')
    9. assert 1 == 2
    10. @pytest.mark.anjing
    11. def test_003(self):
    12. print('Test_01下的用例003')
    13. assert 3 == 3
    14. if __name__ == '__main__':
    15. pytest.main()

     

    pytest -v

    -v:表示查看详细的报告内容

     

    pytest -q

    -q:表示简则的测试报告,运行成功通过“.”表示,运行失败通过"F"表示

    pytest --collect-only

    --collect-only:表示把待执行的用例全部展示出来。

     

    pytest --maxfail=n

    --maxfail=n:其中n表示失败的次数,运行失败n次后,进行停止测试

    1. # coding:utf-8
    2. class Test:
    3. def test_01(self):
    4. print('这是用例01')
    5. assert 1 == 1
    6. def test_02(self):
    7. print('这是用例02')
    8. assert 1 == 2
    9. def test_03(self):
    10. print('这是用例03')
    11. assert 3 == 4
    12. def test_04(self):
    13. print('这是用例04')
    14. assert 4 == 4

    pytest --lf

    --lf:只执行上次失败的用例

    pytest --tb

    --tb=no:不展示用例失败的错误详情

    --tb=line:展示用例失败的代码具体行数。下图结果是在11行

     

     --tb=short:展示更加详细的错误信息

    pytest --durations

    --duration=N:表示把最耗时间的用例展示出来,N表示最慢的N个

    安静的代码运行都很快,把其中一个代码加上睡眠,从图中可以看出来,test_01文件中的test_03运行最慢。

    安静简单的列举了常用的几种,大家如果还想要了解可以查阅官方文档和进行pytest -h 查看详情

     感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

     

  • 相关阅读:
    Spring IOC核心功能快速入门
    【PowerQuery】Excel的PowerQuery的复制
    收藏吃灰,1024推荐2款Python趣味的第三方模块吧
    【linux-centos7下KVM安装相关文档】
    Koordinator 协同 containerd NRI 增强容器 QoS,提升应用性能
    实时矢量搜索如何彻底改变各行各业?
    k8s-List机制
    uni-app小零碎(包括封装网络请求)
    简单学习LVM、LVM的实践、通俗易懂的LVM
    SpringBoot学习9 - 随机数RandomValuePropertySource
  • 原文地址:https://blog.csdn.net/hlsxjh/article/details/134518050