接口自动化的设计思路
一、设计思路
1、一个好的框架,必须要可读性强,所以目录规划尤为重要;
2、公共的方法提取出来,提高复用性;
3、可变的环境等参数,提取出来放到配置文件中,这样,每次只需要更改配置文件中的值;
4、为了追踪错误,需要必要的日志记录,日志写入文件中;
5、请求类型基本上都是get、post,所以,可以封装方法,不用每个用例写一个请求;
6、测试数据要分离,不能混在测试请求里面,通过测试数据驱动的方式来实现,excle存测试数据;
7、测试报告是测试结果的体现,必须生成;
8、自动化基本上都是基于常用的业务流程,所以过程中会有数据的依赖,需要提高中间变量的复用率;
9、配置数据、业务数据初始化,sql操作;
二、重点和难点
1、关联:公共的变量,保存在一个类的单例字典变量中,excel中对应字段要标识这个请求是否有依赖或者被依赖的字段;
2、测试数据分离:ddt + excel
3、数据初始化:
如果是配置数据,可以提前把sql备份好,或者仅配置数据的库备份好,每次运行自动化测试框架的时候,先初始化配置数据;
如果是业务数据:如果是前面接口返回的,那么通过关联获取即可;如果要考虑数据唯一性等,那么需要对数据库中已有的相同唯一字段数据做处理,比如你要新增一个用户,需要先把数据库中这个同名用户的数据删除,否则会提示数据已经存在;
三、接口脚本规划
可以按接口来,对每个接口,设计测试用例,但是这脱离了业务。
除了验证接口功能,更重要的是要验证业务,所以,最好是按业务流程来,把这个流程中涉及的接口数据,按顺序写在excel中;
四、接口自动化的需求
1.一套用例可以测试多套环境 get
2.可以被jenkins调度执行 get
3.拥有测试报告 get
4.接口中某些字段值在每次请求中不重复
5.可以多接口关联测试
针对这个需求,实现的主要思路是,可以在一条Pytest用例中,拿到所有接口的请求和响应参数。
这里利用了pytest中fixture,将每个接口的http请求方法封装成fixture,后续传递给pytest用例使用。同理实现了 加载用例数据的Fixture
6.构造的表数据可以和接口字段数据关联
7.pytest用例和实际用例数据要分离,方便维护 get
8.针对多样的响应内容,具备多样的断言方式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言