网站首页 > 技术文章 正文
每天进步一点点,关注我们哦,每天分享测试技术文章
本文章出自【码同学软件测试】
码同学公众号:自动化软件测试
码同学抖音号:小码哥聊软件测试
Python在测试圈的应用非常广泛,特别是在自动化测试以及测试开发的领域,其中在自动化测试中我们常用的测试框架是uniitest和pytest,本文将带领大家搭建以及熟悉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
02
pytest测试用例设计原则
用pytest写用例时,需要遵循以下的规则,才能够被识别并执行:
- 文件名必须以*_test.py或者test_*.py命名
- 测试函数必须以test开头
- 测试类必须以Test开头,并且不能包含__init__方法
- 测试类里以test_开头的方法
- 所有的包必须要有__init__.py文件
03
pytest执行用例规则
免费领取 码同学软件测试 课程笔记+超多学习资料+完整视频+最新面试题,可以转发文章 + 私信「码同学666」获取资料哦
1、执行某个目录下所有的用例
在first这个目录下执行pytest命令,则会找该目录下的符合pytest用例规则的所有用例并执行
2、单独执行某个py文件
执行pyteststudy.py这个文件中符合pytest用例规则的所有用例,而该文件并不需要遵循pytest对于文件的命名规则
3、执行某个py文件里的某个函数
或者某个类,再或者某个类里的某个方法执行pyteststudy.py里的test_add方法
执行pyteststudy.py里的TestCase这个类
执行pyteststudy.py里的TestCase这个类下的test_one方法
4、-s 参数
表示详细打印,可以把脚本中print的信息展示在结果上
04
Pycharm运行Pytest
当然以上执行貌似都是在命令行中进行操作的,那么我们使用pycharm能不能像运行普通代码右键run呢,这就需要一定的设置了
设置步骤如下:
- 点开File --> Settings
- 在settings弹框中输入integrated 搜索
- 修改default test runner为pytest
然后在脚本中右键
免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频,可以关注我们公众号哦:自动化软件测试
本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
猜你喜欢
- 2025-05-28 自动化测试的4大注意事项
- 2025-05-28 Java开发中的持续集成与自动化测试:让代码更健康
- 2025-05-28 浮动补偿单元如何优化机器人自动化产线?
- 2025-05-28 自动化立体仓库检测标准-立体库货架检测方法
- 2025-05-28 Java开发中的自动化测试框架:从零开始玩转测试工具
- 2025-05-28 Github 10.1K star,突破 Web 自动化瓶颈,小白亦能成测试大神!
- 2025-05-28 Jenkins持续集成Java项目的最佳实践
- 2025-05-28 车载测试内容及自动化测试解决方案
- 2025-05-28 MCU自动化测量单元,提升工程效率与精度
- 2025-05-28 自动化班级借助“统用”自动化组装平台开展专业技能实训方案
- 06-22Python开发工程师必会的3个设计模式(工厂、单例、适配器)
- 06-22创建型设计模式——工厂模式和抽象工厂模式
- 06-221. 工厂模式详解
- 06-22工厂模式详解
- 06-22设计模式问题:说一说简单工厂模式?
- 06-22深入设计模式:工厂方法
- 06-22C++设计模式——简单工厂模式
- 06-22什么是工厂模式?工厂模式有哪些类型?如何使用它们?
- 最近发表
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- think in java (14)
- javascript权威指南 (19)
- nfs (25)
- componentart (17)
- yii框架 (14)
- springbatch (28)
- oracle数据库备份 (25)
- iptables (21)
- 自动化单元测试 (18)
- mvc模式 (13)
- python编写软件 (14)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- dfn (14)
- http error 503 (21)
- pop3服务器 (18)
- 图表组件 (17)