• 自动化测试框架pytest系列一


    各位小伙伴们,大家好,今天给大家带来的pytest方面的干货,超详细。

    大家在编写自动化测试脚本的时候都会用到测试框架,pytest就是其中一种,而且是超级好用,好学的一种,它的优点就不在这里讲了,今天主要是讲一下pytest执行用例的方式

    先来简单的给没有接触过pytest的伙伴了解一下pytest的一些基本规则:

    1.所有的单测文件名都需要满足test_.py格式或_test.py格式。

    2.在单测文件中,测试类以Test开头,并且不能带有 init 方法(注意:定义class时,需要以Test开头,不然pytest是不会去运行该class的)

    3.在单测类中,可以包含一个或多个test_开头的函数。

    来个pytest的helloworld吧,代码如下:
    在这里插入图片描述
    运行后,结果如下:
    在这里插入图片描述
    我们测试一个项目肯定不只一两个测试用例,通常都有很多测试用例,同样我们编写自动化测试用例脚本也不可能才一两个脚本,也是有很多脚本的,通常都会归类,放到某个文件夹下面,接下来我们看看怎么一下执行一个目录中的所有用例,首先建立一个目录,名为Filetest,里面的模块如下:
    在这里插入图片描述
    我们在创建一个文件,来执行这些用例,代码如下:

    import pytest
    #执行Filetest目录中所有的用例
    pytest.main(["./Filetest/"])
    
    • 1
    • 2
    • 3

    执行结果如下:
    在这里插入图片描述
    当然我们也可以执行目录里某个模块里所有的用例,代码如下:

    pytest.main(["./Filetest/hello_py2_test.py"])
    
    • 1

    也可以执行模块里某个用例,代码如下:

    pytest.main(["./Filetest/hello_py_test.py::test_01"])
    
    • 1

    我们还可以更加灵活的根据标记,双冒号,类名,类中的某个用例,关键字匹配,出现失败就停止等等方法去执行我们的用例,如下:

    #执行某个模块里某个用例
    pytest.main(["./Filetest/hello_py_test.py::test_01"])
    #通过标记来执行某个模块里某几个用例
    pytest.main(["./Filetest/slow_test.py","-s","-m","slow"])
    #执行某个模块里某个类里的某个方法
    pytest.main(["./Filetest/myclass_test.py::TestMaker::test_b","-s"])
    #有执行到一个错误用例就停止
    pytest.main(["./Filetest/",'-x'])
    #出现2个失败就终止测试,数字可以变
    pytest.main(["./Filetest/",'--maxfail=2'])
    #通过关键字匹配执行用例
    #1.执行Filetest目录里所有函数中有test_0字符串的用例
    pytest.main(["./Filetest/",'-k',"test_0"])
    #2.执行Filetest目录里所有类名中有Maker2
    pytest.main(["./Filetest/",'-k',"Maker2"])
    #3.不执行Filetest目录里所有类名中有Maker2里有test_b1字符串的用例
    pytest.main(["./Filetest/",'-s','-k',"Maker2 and not test_b1"])
    #4.不执行Filetest目录里所有函数中有test_0字符串的用例
    pytest.main(["./Filetest/",'-k',"not test_0"])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    想要更详细的代码,可以访问如下网站:

    http://it.qfedu.com/oa.php/Public/share?c2lkPTEwOTM=

    今天的pytest的技术就先到这啦,后面我们还会推出更多关于pytest的技术,小伙伴们可以持续的关注我们哦,当然我们发布的技术不只是只有测速框架哦,也不是只有测试技术,也有职场经验和职场技巧方面的知识的

    总结:pytest作为比较流行的单元测试框架,还是比较多人使用的,其实测试框架不会太难学习,基本上学习了一种,其他的大部分都差不多,等积累了一定的测试知识,再学习其他的测试框架就很容易了。

    最后我们测试人善于使用测试工具,提高测试效率才能在企业中不断进步,收获更多更好的企业资源,在职场中才能发展的越来越好。测试技术一直在更新,也鞭策我们测试人要不断的学习新的测试技术。

    最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

    在这里插入图片描述

    这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

    如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

    敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

    自学推荐B站视频:

    零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!

    自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

    在这里插入图片描述

  • 相关阅读:
    浅析Linux内核高端内存
    【通过】华为OD机试真题46 - 最长的完全交替连续方波信号
    Windows 10下安装labelImg标注工具!
    如何将您的网站添加到百度站长工具
    2022 年苹果新品预测:iPhone 14 采用“挖孔屏”、Mac 全面升级?
    项目开源!基于PaddleDetection打造实时人体姿态检测的多关节控制皮影机器人
    英语语音技巧
    程序员过了35岁没人要?“这行越老越香”
    MShadow中的表达式模板
    7.关于线性回归模型的Q&A
  • 原文地址:https://blog.csdn.net/weixin_57805858/article/details/126319199