浅谈python+requests接口自动化框架
为什么要做接口自动化框架
1、业务与配置的分离
2、数据与程序的分离;数据的变更不影响程序
3、有日志功能,实现无人值守
4、自动发送测试报告
5、不懂编程的测试人员也可以进行测试
正常接口测试的流程是什么?
确定接口测试使用的工具----->配置需要的接口参数----->进行测试----->检查测试结果----->生成测试报告
测试的工具:python+requests
接口测试用例:excel
一、接口框架如下:
1、action包:用来存放关键字函数
2、config包:用来存放配置文件
3、TestData:用来存放测试数据,excel表
4、Log包:用来存放日志文件
5、utils包:用来存放公共的类
6、运行主程序interface_auto_test.py
7、Readme.txt:告诉团队组员使用改框架需要注意的地方
二、接口的数据规范设计---Case设计
一个sheet对应数据库里面一张表
APIsheet存放 编号;从1开始 接口的名称(APIName); 请求的url(RequestUrl); 请求的方法(RequestMethod); 传参的方式(paramsType):post/get请求方法不一样 用例说明(APITestCase) 是否执行(Active)部分接口已测通,下次不用测试,直接把这里设置成N,跳过此接口
post与get的区别
查看post详情
post请求参数一般是json串,参数放在from表单里面;参数一般不可见,相对来说安全性高些
查看get详情
get请求参数一般直接放在url里面
2.1注册接口用例
RequestData:请求的数据 (开发制定的传参方式) RelyData:数据依赖 ResponseCode:响应code ResponseData:响应数据 DataStore:存储的依赖数据;如果存在数据库里面,在表里增加一个字段用来存依赖的数据 (存储的方式是编写接口自动化的人员来设定的存储方式) CheckPoint:检查点 Active:是否执行 Status:执行用例的状态,方便查看用例是否执行成功 ErrorInfo:case运行失败,失败的错误信息;eg:是也本身的原因还是case设置失败,还是其他原因
2.2登录接口用例
RequestData:请求的数据 (开发制定的传参方式) RelyData:数据依赖 (存储的方式是编写接口自动化的人员来设定的存储方式) ResponseCode:响应code ResponseData:响应数据 DataStore:存储的依赖数据;如果存在数据库里面,在表里增加一个字段用来存依赖的数据 (存储的方式是编写接口自动化的人员来设定的存储方式) CheckPoint:检查点 Active:是否执行 Status:执行用例的状态,方便查看用例是否执行成功 ErrorInfo:case运行失败,失败的错误信息;eg:是也本身的原因还是case设置失败,还是其他原因
重点说明下RelyData:数据依赖 采取的是字典:key:value来存储数据格式; {"request":{"username":"register->1","password":"register->1"},"response":{"code":"register->1"}}
格式化之后:
{ "request":{ "username":"register->1", "password":"register->1" }, "response":{ "code":"register->1" } }