基于HTTP协议的API接口测试
上一篇 /
下一篇 2021-11-25 14:18:33
/ 个人分类:测试
一、接口组成:请求+返回
接口请求=请求的URL+请求头(User-Agent、Content-Type) +请求方法(GET/POST/PUT/DELEte)+请求参数(拼接在URL后面/请求的body中)
三、postman测试接口
1、postman模拟接口请求:
- collections:存放单个测试接口
- 动态变化部分引用变量:如,测试环境{{server_ip}}、{{token}}等
2、测试环境env配置:
配置环境路径,key-value方式,后面测试时直接使用该env,更换测试环境也只用调整value,或者保存多个环境信息,直接切换对应env即可
3、postman加载外部数据驱动文件:
定义外部数据文件,后缀.csv或.json
如果是csv文件,第一行为变量名,后面2...N定义变量值(每一行是一个case)
注意:变量名和值一一对应
- case_desc:测试点描述;
- arg:接口请求的参数名称;
- 4个通用的测试点预期检查,定义为response_code,response_message,errCode,errMsg。
如果是json文件,写成数组,数组的每一条json串就是一个case,其中key是变量名,value是变量值
- case_desc:测试点描述;
- arg:接口请求的参数名称;
- 4个通用的测试点预期检查,定义为response_code,response_message,errCode,errMsg。
4、加载外部数据文件
- 通过Collection Runner加载外部数据文件,点击collection的【Run】按钮,进入Runner界面;
- 迭代次数Iteration(可以理解为case数),postman会自动加载数据文件的case数,Data处选择外部数据文件载入,点击底部的【运行】按钮执行即可。
注意:有的版本Data File Type默认为csv格式,选择csv文件文件加载即可;如果为json类型,需下拉选择为application/json类型,再加载json数据文件。
5、Tests断言:
通用断言:http状态码、message、errCode和errMsg,语法为JavaScript
try{
var jsonData = JSON.parse(responseBody)
if (data.response_code !== "")
tests[data.case_desc+ "-验证后台返回response code是否'"+data.response_code+"'(实际='"+responseCode.code +"')"] = responseCode.code === data.response_code;
if (data.response_message !== "")
tests[data.case_desc+ "-验证后台返回response message是否'"+data.response_message+"'(实际='"+responseCode.name +"')"] = responseCode.name ===data.response_message;
if(data.errCode !== "")
tests[data.case_desc+ "-验证接口返回errCode是否'"+data.errCode+"'(实际='"+jsonData.errCode +"')"] = jsonData.errCode ===data.errCode;
if(data.errMsg !== "")
tests[data.case_desc+ "-验证接口返回errMsg是否'"+data.errMsg+"'(实际='"+jsonData.errMsg +"')"] = jsonData.errMsg ===data.errMsg;
}catch(error) {
tests["模块名称-接口名称,后台返回response异常(返回"+responseCode.code+" "+responseCode.name+")"]=false;
console.log("Response为:");
console.log(responseBody);
}
- responseBody:获取接口请求响应的body内容, JSON.parse(responseBody) // json字符串转化为json对象
- data:获取外部数据文件中的变量值, 通过【data.变量名】方式引用
6、查看结果
通过【Collection Runner-Run Results】界面查看断言的结果
- 标记为PASS:表示实际与预期的检查一致
- 标记为FAIL:表示实际与预期的检查不一致
收藏
举报
TAG: