文章目录
- [1. 接口抓包分析](#1. 接口抓包分析)
-
- [1.1 没有接口文档 - 抓包](#1.1 没有接口文档 - 抓包)
- [1.2 抓包后编写简要的接口文档](#1.2 抓包后编写简要的接口文档)
- [2. 根据功能-接口测试用例设计](#2. 根据功能-接口测试用例设计)
- [3. Postman完成接口测试](#3. Postman完成接口测试)
-
- [3.1 数据驱动](#3.1 数据驱动)
- [3.2 测试集导入和导出](#3.2 测试集导入和导出)
- [3.3 使用Cookies](#3.3 使用Cookies)
- [3.4 鉴权方式](#3.4 鉴权方式)
-
- [3.4.1 鉴权登录方式一:创建登录接口,在接口中响应断言,获取token参数](#3.4.1 鉴权登录方式一:创建登录接口,在接口中响应断言,获取token参数)
- [3.4.2 鉴权登录方式二:请求前脚本中获取参数](#3.4.2 鉴权登录方式二:请求前脚本中获取参数)
- [3.8 postman中设置导出为代码](#3.8 postman中设置导出为代码)
- [4. 小结:接口测试流程](#4. 小结:接口测试流程)
- 总结
✨✨✨学习的道路很枯燥,希望我们能并肩走下来!
编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。

本文开始
1. 接口抓包分析
前提:开发没有提供接口文档,如何测试呢?
1.1 没有接口文档 - 抓包
1.需要使用抓包工具,辅助进行接口测试
2.抓包后与开发确认参数信息:包括响应中的字段,什么类型,长度要求,字段有什么特殊要求,响应逻辑等;
3.通过抓包后,产出接口文档
抓包:web端可以时间使用network, 移动端需要代理工具辅助;
1.2 抓包后编写简要的接口文档
- 接口文档:内容包含简单描述接口
- 请求URL: http://www.bai.com
- 请求方式:GET
- 请求参数:可以使用表格-参数具体要求需要实际与开发沟通
| 参数 | 必须 | 类型 | 说明 |
|---|---|---|---|
| keyword | 否 | string | 搜索内容不能包含特殊字符 |
| page | 否 | int | 要查询的页数。默认值为 1。决定响应中 page 字段的值。如果它的值超过搜索结果的总页数,则响应中的 page 字段取值为搜索结果的最大页数 |
| limit | 否 | int | 返回商品的数量。默认值为 10。决定响应中 limit 字段的值和 list 返回对象的数量。如果它的值超过搜索结果的总数量则响应中 list 返回全部搜索结果对象。 |
| categoryId | 否 | int | 二级类别 id,不传或者值为 0时搜索全部类目下的商品 |
- 响应示例:-用例中的预期结果
一般是一个Json格式
xml
{
"code":200,
"message":"成功",
"data":{[....]}
}
- 响应参数说明:如下说明每一个响应返回的参数
| 参数 | 类型 | 说明 |
|---|---|---|
| code | int | 返回码 |
| message | string | 对返回码的文本描述 |
| data | object | 搜索结果信息 |
2. 根据功能-接口测试用例设计
搜索接口功能分析:
基本功能流程测试考虑:
字段参数测试考虑
组合参数校验:使用判断表方式
异常场景考虑:
分析功能后,将思维导图转为具体测试用例-excel;- 用例设计本地文章查看;
3. Postman完成接口测试
【注】Postman进行测试,多个接口,注意能复用就复用,注意参数和断言的设置即可;
Web端快捷导入接口方式如下:
- 保存 .har文件 导入 postman
方式1:network中点击请求→右键选择Save all as HAR with conten
方式2:network中点击请求→ 点击⬇️即可下载.har
postman中点击import → 直接将.har拖拽到,postman会自动解析生成一个测试集;也可以放curl, url等导入
- 创建一个新的测试集:
将.har中的接口移动到新建的测试集中 - 创建接口测试用例:根据设计的接口用例-excel,在postman中进行创建
3.1 数据驱动
使用前提:如对于搜索参数内容的验证,请求参数都是输入内容和预期结果都是差不多一样类似的,断言都是一样,这种考虑使用数据驱动;简要说明-一样接口,类似参数(可填或不填),查看预期结果类似,可以使用Json或Csv文件导入数据;
数据驱动步骤:
- 准备数据: JSON 或者 CSV格式
JSON格式:.json文件中使用数组,每个元素是对象
xml
[
{
"keyword":"v1",
"page":"100",
"limit":"1"
},{
"key1":"v1",
"key2":"v2"
}
]
CSV格式:.csv文件首行是变量的key-也就是输入的参数是什么;下面每一行都是一条测试数据;
分割每个参数的分隔符可以指定,这里使用的是逗号;
- 修改参数设置:变量引用
修改的位置:请求传递的参数,断言中的参数
防止变量报错,可以将变量定义到测试集的变量中,设置为空值;
断言中修改,直接从data中获取就可,点后面的跟.csv文件首行设置的变量
-
修改断言在测试集中定义数据变量:使用数据变量,放在报错
-
运行测试集,选择准备好的数据
postman点击run运行测试集 → 点击Select File,选择.csv/.json文件 → 点击运行
3.2 测试集导入和导出
导入:点击postman页面 import按钮
导出:测试集后的... → 点击More → 点击Export按钮导出
3.3 使用Cookies
Postman会自动保存Cookies信息-鉴权使用的是Cookies会自动获取
点击发送请求Sends按钮 → Cookies按钮 →查看获取的Cookies
发送请求后,自动获取Cookies
可以手动抓包获取Cookies, 再点击Cookies按钮,输入Cookies后,再Add按钮新增Cookies
3.4 鉴权方式
postman中添加鉴权的位置如下:
默认从父中继承
3.4.1 鉴权登录方式一:创建登录接口,在接口中响应断言,获取token参数
参数传递方式获取
token获取:
1.在测试集中创建登录接口
2.在登录接口中从响应中获取,需要创建脚本在Post-response中提取 - 使用JS脚本
3.token保存 token 到测试集变量 - 自动获取保存到测试集变量中
4.再次请求时token会添加到请求参数 或 请求头
【注】运行测试集前,需要先勾选登录接口
方式一示例:
将下列脚本放到Post-response中即可
javascript
//获取响应数据的json对象
var jsonData=pm.response.json();
//从json对象中提取token值
var token = jsonData.data.token;
//把token值设置为测试集变量
pm.collectionVariables.set("token",token);
运行后会在测试集中:查看到token测试集变量
3.4.2 鉴权登录方式二:请求前脚本中获取参数
auth鉴权默认从父级中获取
方式二:需要在测试集中请求前添加脚本;
【注】脚本中获取鉴权信息,在测试集中设置一次,在测试集中的接口都可以复用了;
步骤一:测试集运行前添加脚本:
下列脚本只是参考,根据不同业务需求不同请求,需要适当修改;
Pre-request中脚本如下:仅提供参考
javascript
//构造登录请求
const loginRequest = {
url:'http: /litemall/auth/login',
method: "POST",
header: 'Content-Type:application/json',
body: {
mode:'raw',
raw: JSON.stringify({'username':'user123',"password": "user123"})
}
};
//发送请求
pm.sendRequest(loginRequest,function(err, response) {
if(err){
//如果出错,打印错误信息
console.log(err);
}else {
//如果没有出错,打印响应消息,获取token设置测试集变量
console.log(response.json());
//将token设置到测试集变量中
pm.collectionVariables,set("token",response.json().data.token);
}
});
步骤二:在测试集手动中设置Auth:根据需要业务选择不同的Auth Type即可,该测试集中接口都可复用;
3.8 postman中设置导出为代码
Postman导出代码:右侧边栏</>按钮,点击,可以选择想要的语言,提供复制按钮,点击即可复制
4. 小结:接口测试流程
- 没有接口文档,需要借助抓包工具获取接口;
考虑移动端:借助代理工具;考虑Web端:直接通过开发者工具f12查看; - 根据抓包内容构造接口文档:包含主要内容(请求URL, 请求方式,请求参数,响应参数说明,响应示例) ,具体细节需要跟开发沟通确认;
- 设计测试用例:考虑冒烟,流程,参数,请求方式,非功能等
- 使用Postman执行测试用例:需要构建测试环境,如:测试集,测试模块划分,公共变量设置(鉴权参数配置,数据配置-csv,json等),断言
- 测试结果分析-产出报告
总结
✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

















