【V】接口自动化测试框架设计、开发
设计思路
1、一个好的框架,必须要可读性强,所以目录规划尤为重要;
2、公共的方法提取出来,提高复用性;
3、可变的环境等参数,提取出来放到配置文件中,这样,每次只需要更改配置文件中的值;
4、为了追踪错误,需要必要的日志记录,日志写入文件中;
5、请求类型基本上都是get、post,所以,可以封装方法,不用每个用例写一个请求;
6、测试数据要分离,不能混在测试请求里面,通过测试数据驱动的方式来实现,excle存测试数据;
7、测试报告是测试结果的体现,必须生成;
8、自动化基本上都是基于常用的业务流程,所以过程中会有数据的依赖,需要提高中间变量的复用率;
9、配置数据、业务数据初始化,sql操作;
目录规划
1. bin: 可执行文件,程序入口 2. conf: 配置文件,各种路径配置、ip、端口等 3. lib: 工具库 4. log: 日志文件 5. reprot: 测试报告 6. test_case: 测试用例 7. data:测试数据 8. README.md: 说明文件
重点、难点
1、关联:公共的变量,保存在一个类的单例字典变量中,excel中对应字段要标识这个请求是否有依赖或者被依赖的字段;
2、测试数据分离:ddt + excel
3、数据初始化:
如果是配置数据,可以提前把sql备份好,或者仅配置数据的库备份好,每次运行自动化测试框架的时候,先初始化配置数据;
如果是业务数据:如果是前面接口返回的,那么通过关联获取即可;如果要考虑数据唯一性等,那么需要对数据库中已有的相同唯一字段数据做处理,比如你要新增一个用户,需要先把数据库中这个同名用户的数据删除,否则会提示数据已经存在;
接口脚本怎么规划?
可以按接口来,对每个接口,设计测试用例,但是脱离了业务,
除了验证接口功能,更重要的是要验证业务,所以,最好是按业务流程来,把这个流程中涉及的接口数据,按顺序写在excel中;
框架汇总(写了4个框架)
https://gitee.com/uncleyong/my_rf/blob/master/README.md
多个版本的自动化测试框架,例如:
unittest + 关联 + excle + ddt
自己造轮子(未使用unittest、pytest等)
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!