基于HTTP协议的API接口测试

一、接口组成:请求+返回

接口请求 = 请求的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数据文件。

 

4、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.变量名方式引用

5、查看结果

通过【Collection Runner-Run Results】界面查看断言的结果

①标记为PASS:表示实际与预期的检查一致

②标记为FAIL:表示实际与预期的检查不一致

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值