接口测试-Postman接口测试流程小练习2

文章目录

  • [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. 小结:接口测试流程

  1. 没有接口文档,需要借助抓包工具获取接口;
    考虑移动端:借助代理工具;考虑Web端:直接通过开发者工具f12查看;
  2. 根据抓包内容构造接口文档:包含主要内容(请求URL, 请求方式,请求参数,响应参数说明,响应示例) ,具体细节需要跟开发沟通确认;
  3. 设计测试用例:考虑冒烟,流程,参数,请求方式,非功能等
  4. 使用Postman执行测试用例:需要构建测试环境,如:测试集,测试模块划分,公共变量设置(鉴权参数配置,数据配置-csv,json等),断言
  5. 测试结果分析-产出报告

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
LT10157974449 分钟前
2026年国内有哪些好用的性能测试工具?
测试工具
技术人生0012 小时前
Selenium 工程化模板(日志+异常截图,可直接复制使用)
python·selenium·测试工具
ck0135794 小时前
视频转 GIF 的基本流程与文件大小优化
前端·测试工具·html·音视频·视频
菜鸟阿达20 小时前
Postman 有哪些免费/开源的替代品?2026 年接口工具选型参考
测试工具·开源·postman
菜鸟阿达1 天前
我把 API 调试工具做成了浏览器版“Postman“,开源了:HTTP/SSE/WebSocket 全能测
http·开源·postman
雪雪爱冲浪2 天前
2026 年网络爬虫领域的Puppeteer vs. Playwright
爬虫·网络协议·测试工具·接口隔离原则
星星码️4 天前
博客系统 Web 端测试报告:功能、自动化与性能
功能测试·测试工具·压力测试·模块测试·测试覆盖率
han68894 天前
selenium之实战
笔记·python·selenium·测试工具·自动化