Python接口自动化 - 从零开始打造自己的接口测试框架

接口测试框架的形成过程



--> 流水账式的接口测试脚本
--> 在编写不少流水账式的接口测试脚本后,发现其中存在大量重复的代码

思考:

能不能把公共的操作单独抽离出来,抽象到一个common文件中,在其他文件继承或导入文件进行使用

如何区分哪些是公共的部分?

这个概念很大,可以从小做起,一步一步改进

--> 比如一个项目的接口中,host基本是一样的,可以抽离出来;
--> 一个接口对应多个用例,不同用例之间只是入参不一样,可以把接口的host和路径抽离出来
--> 还有比如 一个系统功能比较多,有几十个模块,每个模块也可以分为一部分
--> 测试环境的切换
--> 等等,在实践的过程中,多想一想,还有哪些可以抽离的

一般哪些是公共部分?

公共部分与非公共部分的边界是什么?
提供common文件的通用性
如不写死测试系统,通过传入参数指定测试系统

加入测试报告

加入测试报告模块,把测试结果储存在测试报告当中,方便查看而不是都使用print打印

加入测试驱动框架

加入unittest或pytest测试驱动框架来驱动各个模块,更好地组织测试脚本

加入日志

为了更好地定位和分析问题,加入日志模块

加入断言

针对复杂断言,引入jsonpath断言、Xml断言、Xpath断言、hamcrest断言、Json schema校验

引入POM

为了更好地区分业务操作,方便脚本维护,引入POM

引入参数化

为了应对大数据量测试,引入参数化,YAML、Excel、数据库都可以作为存储测试数据的。

引入持续集成

引入jenkins持续集成,自动拉去代码执行脚本

......

不要把测试框架看得太高大上了,不是只有像selenium、appium、httprunner才叫测试框架,你可以从一个简单地测试框架开始做起。

测试框架是在编写大量测试脚本地过程中不断抽象封装出来地,然后不断完善,是一个循环往复地过程。



说这么多,要学的这么多,那怎么开始呢???

  1. 流水代码写好,流水代码也可以进行断言,进行关联。测试用例的关键要素是什么(输入以及期望结果),要学一下request模块

  2. 你会发现流水式的代码有很多重复的的内容,那么要封装一个接口,先用函数封装,所以你要学一下函数

-------------------其实到这里,一个小框架就出来了,你先用着,先用到项目里面去,不要想太多,干就是了----------------

  1. 接着你会发现用函数封装,好像还不太够,可以封装成类,所以你要学习一下类

  2. 封装完类之后,你会发现执行用例不方便,断言不方便,所以你要引入unittest或者pytest框架

----------------到这里,你的框架进一步完善了----------------



真的,坚持到这一步,你已经超过很多人了

接下来继续完善,也就前面提到那些,封装Rest客户端、封装关键字、数据驱动,加日志,引入jenkins、引入POM等等.



-----分界线------

一个病人准备做手术,问医生,我能喝水吗?
医生:只能一点点
病人:那我要一杯奶茶

posted @   西瓜_皮  阅读(357)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2018-03-02 (一)Fiddler的介绍和安装
2018-03-02 python-基本算法(冒泡)
2018-03-02 selenium - 截取页面图片和截取某个元素的图
点击右上角即可分享
微信分享提示