一、接口分类、流程、用例设计
1、接口分类
-
外部接口:被测系统与外部其他系统之间的接口
-
内部接口:被测系统内部各个子模块之间的接口
-
测试接口重点:检查接口参数的正确性、接口功能的正确性、输出结果的正确性、以及对各种异常场景的容错处理和权限控制
2、接口测试的流程与用例设计
- 获取接口文档(找开发要接口文档或者自己抓包获取),熟悉接口业务、接口地址、鉴权方式、入参、出参、错误码、其他的特别的需求。
- 编写接口测试用例以及评审
- 编写思路
- 编写正向流程(输入正确的入参,接口返回正常)
- 编写异常流程
- 鉴权反例(为空、错误、过期)
- 参数反例(必填、参数类型异常、参数长度异常、错误码覆盖)
- 其他场景(黑名单、调用次数限制、分页场景的测试)
- 使用接口测试工具Postman、Jmeter执行接口测试
- Postman+newman+jenkins+git实现持续集成
- 编写思路
二、Postman接口测试工具
1、Postman安装和下载
- 官网地址:
https://www.postman.com/download
- token鉴权码
- csrf_token:一般情况下有效期是7到15天
- access_token:一般情况下有效期是10分钟-2小时
三、Postman工具详解
1、界面展示
请求页签说明:
响应页签说明:
四、接口关联
1、接口关联的两种方法
- 第一种方式:JSON提取器
// 打印
console.log(responseBody)
// JSON 提取器:把返回的结果转化成JSON对象
var jsdata = JSON.parse(responseBody)
// 取值,并设置为全局变量
pm.globals.set("access_token", jsdata.access_token);
- 第二种方式:正则表达式提取器
// 打印
console.log(responseBody)
// 正则表达式提取器,match匹配,new RegExp新建正则表达式
var data = responseBody.match(new RegExp('"access_token":"(.*?)"'));
// 取值并设置为全局变量
pm.globals.set("access_token", data[1]);
- 鉴权方式:签名sign
let salt = "xxx";
let param = request.data; //post 参数
let queryParam = pm.request