各位小伙伴们,大家好,今天给大家带来的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/"])
执行结果如下:
当然我们也可以执行目录里某个模块里所有的用例,代码如下:
pytest.main(["./Filetest/hello_py2_test.py"])
也可以执行模块里某个用例,代码如下:
pytest.main(["./Filetest/hello_py_test.py::test_01"])
我们还可以更加灵活的根据标记,双冒号,类名,类中的某个用例,关键字匹配,出现失败就停止等等方法去执行我们的用例,如下:
#执行某个模块里某个用例
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"])
想要更详细的代码,可以访问如下网站:
http://it.qfedu.com/oa.php/Public/share?c2lkPTEwOTM=
今天的pytest的技术就先到这啦,后面我们还会推出更多关于pytest的技术,小伙伴们可以持续的关注我们哦,当然我们发布的技术不只是只有测速框架哦,也不是只有测试技术,也有职场经验和职场技巧方面的知识的
总结:pytest作为比较流行的单元测试框架,还是比较多人使用的,其实测试框架不会太难学习,基本上学习了一种,其他的大部分都差不多,等积累了一定的测试知识,再学习其他的测试框架就很容易了。
最后我们测试人善于使用测试工具,提高测试效率才能在企业中不断进步,收获更多更好的企业资源,在职场中才能发展的越来越好。测试技术一直在更新,也鞭策我们测试人要不断的学习新的测试技术。
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!