基于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:

 

评分:0

我来说两句

Open Toolbar