Python自动化必不可少的测试框架 — pytest

发布时间 2023-03-29 09:54:56作者: 码同学软件测试

每天进步一点点,关注我们哦,每天分享测试技术文章

本文章出自【码同学软件测试】

码同学公众号:自动化软件测试,领取资料可加:Matongxue_8

码同学抖音号:小码哥聊软件测试​

Python在测试圈的应用非常广泛,特别是在自动化测试以及测试开发的领域,其中在自动化测试中我们常用的测试框架是uniitestpytest,本文将带领大家搭建以及熟悉pytest的使用。

 

既然有unittest那么为什么还要用pytest呢?

这是因为pytest有以下的特点:

 

  • 入门简单,文档丰富,而且文档中有很多实例参考

  • 支持参数化,可以从教细的力度控制测试用例

  • 能够支持简单的单元测试和复杂的功能测试

  • 支持测试跳过,失败case标记

  • 支持失败重试

  • 支持由nose,unittest编写的测试用例

  • 支持HTML报告

  • 和jenkins持续集成很方便

  • 具有很多第三方插件,并且可以自定义扩展

01安装pytest 

 

cmd或者终端运行

 

 

 

查看版本

 

 

 

 

快速体验一把

 

 

 

在pycharm里的Terminal直接执行

 

 

 

 

在这里必须提醒大家注意pytest的执行规则,规则是这样的:

  • 考如果直接敲pytest执行,则会查找当前目录及其子目录下以  test_*.py  或 *_test.py 文件,找到文件后,在文件中找到以test 开头函数并执行

  • 如果只想执行某个py文件,则使用pytest  xxx.py

     

02pytest测试用例设计原则

 

用pytest写用例时,需要遵循以下的规则,才能够被识别并执行:

  • 文件名必须以*_test.py或者test_*.py命名

  • 测试函数必须以test开头

  • 测试类必须以Test开头,并且不能包含__init__方法

  • 测试类里以test_开头的方法

  • 所有的包必须要有__init__.py文件

 

03pytest执行用例规则

 

1、执行某个目录下所有的用例

在first这个目录下执行pytest命令,则会找该目录下的符合pytest用例规则的所有用例并执行

 

 

 

免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:Matongxue_8

2、单独执行某个py文件

执行pyteststudy.py这个文件中符合pytest用例规则的所有用例,而该文件并不需要遵循pytest对于文件的命名规则

 

 

 

 

3、执行某个py文件里的某个函数

或者某个类,再或者某个类里的某个方法执行pyteststudy.py里的test_add方法

 

 

 

执行pyteststudy.py里的TestCase这个类

 

 

 

执行pyteststudy.py里的TestCase这个类下的test_one方法

 

 

 

 

4、-s 参数

表示详细打印,可以把脚本中print的信息展示在结果上

 

 

 

 

04Pycharm运行Pytest

 

当然以上执行貌似都是在命令行中进行操作的,那么我们使用pycharm能不能像运行普通代码右键run呢,这就需要一定的设置了

 

设置步骤如下:

  • 点开File --> Settings

  • 在settings弹框中输入integrated 搜索

  • 修改default test runner为pytest

  •  

     

然后在脚本中右键

 

 

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:Matongxue_8/关注码同学公众号:自动化软件测试

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。