接口自动化的设计思路

一、设计思路

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.针对多样的响应内容,具备多样的断言方式。
 
posted @   丝瓜呆呆  阅读(932)  评论(0编辑  收藏  举报
努力加载评论中...
编辑推荐:
· 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数据库查询与断言
点击右上角即可分享
微信分享提示