接口自动化目前是测试圈主流的一个话题,我也在网上搜索了很多关于自动化的关键词,大多数博主分享的python做接口自动化都是以开源的框架,比如:pytest、unittest+ddt(数据驱动) 最常见的。
这些框架的缺陷太多,如下列举几个:
1.无法实现参数关联:上个请求的结果是下个请求的参数,如token
2.接口请求参数名有重复的,目前未处理,如key1=value1&key1=value2,两个key都一样,这种需要用元组存储,无法判断
3.接口数据更新无法直接更新excel,仍需修改代码,对于新手产生很大的不便
4.对于新手不会代码的测试人员,不易管理
我将分享一个python编写的接口自动化脚本,可以完全解决上面框架实现出现的问题,基本上http请求的接口均通用,仅需在excel中编写接口用例无需更改代码!
采用同样是数据驱动方式,将数据和业务完全分离在excel表格中、代码无需变更,两部分分离的方式相互独立,代码简单好维护,单个脚本调试方便,不用关注代码编写,提高了效率,(懂基础python的测试人员)也可无限扩展。
核心的思想与开源工具是相同的:数据和测试代码分离
优点:足够灵活,可以随时根据需求进行变更扩展
测试结果:直接展示在excel中,一目了然
目前已实现的功能:
1.支持HTTP请求方式
2.支持上下接口参数关联:参数提取实现各种响应值取参
3.支持上传、下载图片、文件
4.支持配置文件、参数全局变量均在excel表中填写,代码自动读取,相当于开源工具的conf目录存在的配置
5.测试结果直接在excel自动对比
6.测试总结果跑完脚本后excel中直接展示
7.可以在excel表中编写无限复杂的业务接口
8.可扩展,非通用功能,如接口需要md5验证,均可根据自己的需求进行扩展
测试用例结构:
1.全局配置文件写在:全局参数化配置表中
2.接口用例例子编写,可多张表区分业务
3.如下表和2.表是同一张,以下说明了如何关联参数取值并附值使用
4.脚本执行完后结果在这个表中自动输出
python脚本结构:
1.无多目录结构,一个脚本300多行代码
想获取源码,赶快关注公众号吧【自动化测试交流圈】!可点击下方原文链接查看具体内容
来源:oschina
链接:https://my.oschina.net/u/4512383/blog/4269752