✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🎯 你正在阅读「接口测试从入门到跑路」系列文章 🎯✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🔥 弹简特 个人主页
❄️ 个人专栏直通车:
✨ 靠热爱去书写自己,靠勇敢去书写生活!
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🌟 博主简介:

文章目录:
- 前言
- 一、Postman集合变量、环境变量和全局变量
-
- [1、 集合变量(Collection Variables)](#1、 集合变量(Collection Variables))
-
- [1.1 实战演练:论坛首页和登录](#1.1 实战演练:论坛首页和登录)
-
- [1.1.1 接口文档](#1.1.1 接口文档)
- [1.1.2 开始测试](#1.1.2 开始测试)
- [2、 环境变量(Environment Variables)](#2、 环境变量(Environment Variables))
-
- [2.1 实操演示](#2.1 实操演示)
- [3、 全局变量(Globals)](#3、 全局变量(Globals))
- 4、一句话总结表
- 二、Postman批量运行接口测试
-
- 1、方式一:手动运行
-
- [1.1 右键项目名称点击Run](#1.1 右键项目名称点击Run)
- [1.2 设置各个属性](#1.2 设置各个属性)
- [1.3 运行之后会跳转到结果页面](#1.3 运行之后会跳转到结果页面)
- [1.4 点击项目名称-->在点击runs查看运行结果](#1.4 点击项目名称-->在点击runs查看运行结果)
- [1.5 解决批量运行文件上传失败的问题](#1.5 解决批量运行文件上传失败的问题)
- 2、方式二:定时运行(不常用,了解即可)
- 3、方式三:CLI命令行方式运行
-
- [3.1 选择CLI命令方式](#3.1 选择CLI命令方式)
- [3.2 下载CLI](#3.2 下载CLI)
- [3.3 登录服务器](#3.3 登录服务器)
- [3.4 登录成功之后运行项目](#3.4 登录成功之后运行项目)
- [3.5 去Postman右键项目名称-->点击runs查看结果](#3.5 去Postman右键项目名称-->点击runs查看结果)
- 三、写在最后
前言
铁汁们,是不是经常遇到这种情况:上一个接口刚拿到的 token,下一个接口就翻脸不认人?或者开发小哥拍着胸脯说"我那儿能跑",你扭头就是 404?别慌!今天咱不聊跑路,专门聊聊 Postman 里那三个让你"少改 100 遍 URL"的神器------集合变量、环境变量、全局变量。看完这篇,你也能在开发、测试、生产环境之间反复横跳,顺便把批量运行玩出花。走你~ 🚀
一、Postman集合变量、环境变量和全局变量
1、 集合变量(Collection Variables)
-
定义:绑定在特定集合上的变量,只对该集合内的所有请求可见。
-
作用范围:当前集合(一个项目中的所有接口共享)。
-
生命周期:持久保存,随集合导入/导出,不会因环境切换而改变。
-
典型使用场景 :
- 同一项目内接口之间传递数据(如登录后提取
token、tagId给后续接口使用)。 - 存放集合共享的固定值(如固定的
userId、shopId)。
- 同一项目内接口之间传递数据(如登录后提取
-
优点:不影响其他集合,避免变量污染。
-
设置方法 :
jspm.collectionVariables.set("token", "abc123");使用:
{``{token}}
1.1 实战演练:论坛首页和登录
1.1.1 接口文档
简要描述:访问论坛首页 接口
请求URL:
http://47.107.116.139/phpwind/请求方式:GET
参数:无参数
返回示例:因返回的HTML脚本太多,故不写到此接口文档中!
返回参数说明
- 返回的HTML源码中包含csrf_token鉴权码,示例:
html<input type="hidden" name="csrf_token" value="bb77911d24b47537"/>
- 返回响应头Cookie中包含csrf_token鉴权码,示例:
jscsrf_token:bb77911d24b47537
简要描述:登录接口
请求URL:
http://47.107.116.139/phpwind/index.php?m=u&c=login&a=dorun请求方式:POST
必须带的请求头:
参数名 必选 值 说明 Accept 是 application/json, text/javascript, /; q=0.01 客户端接收的数据类型 X-Requested-With 是 XMLHttpRequest 异步请求 请求参数:
参数名 必选 类型 说明 备注 username 是 string 用户名 你报名时填写的手机号码,如果不对找班主任 password 是 string 密码 你报名时填写的手机号码,如果不对找班主任 csrf_token 是 string 鉴权码 从【访问phpwind论坛首页接口】接口返回值或响应头Cookie中获取 backurl 是 string 来源 填写: http://47.107.116.139/phpwind/invite 是 string 邀请 不填写值 返回示例:
js{"referer":"http%3A%2F%2F47.107.116.139%2Fphpwind%2Findex.php%3Fm%3Du%26c%3Dlogin%26a%3Dwelcome%26_statu%3DRGt3M2NhUmpmaUU5RCUyRnlSbE5OdkdNNE9adllUMGw5ZFdvRHFMYm01RlBMSk5hV1E3b1ZaayUyRk5vRHhOUkthMUx8aHR0cDovLzQ3LjEwNy4xMTYuMTM5L3BocHdpbmQvfA","refresh":false,"state":"success","data":"","html":"","message":[""],"__error":""}返回参数说明:
参数名 类型 说明 state string 是否登录成功标识,success为成功;fail为失败
1.1.2 开始测试
1)对于访问首页接口:会返回鉴权码
注意:我们本次演示的是接口关联中的集合变量作用域,至于接口关联的具体详细信息参考第一篇博客👉接口关联(万字图文,零基础保姆级)
a、构造请求四要素:请求URL+方式+头+体

b、发送请求,得到结果

c、搜索出返回的鉴权码

d、首先获取返回的text文本对象

e、使用正则表达式提取token值(提取第一个接口中返回的鉴权码)

f、将目标值变为(.*?)

g、获取到对应的鉴权码值

h、将鉴权码设置为集合变量

2)对于登录接口:需要携带鉴权码
a、构造请求:请求路径+方式+请求头+请求体(里面可能包含请求参数)


b、获取鉴权码使用{``{名称}}获取

c、发送请求并看结果

那么总之你记住,咱的集合变量 就是 当前项目下的所有接口共享的
2、 环境变量(Environment Variables)
-
定义:绑定在用户创建的某个环境上的变量,切换环境时,对应的变量值会整体替换。
-
作用范围:当前选中的环境(如开发环境、测试环境、预发布环境、生产环境)。
-
生命周期:持久保存,可手动创建/删除/切换。
-
典型使用场景 :
- 多环境切换:同一套接口,在不同服务器地址(IP/域名)下测试。
- 解决"测试人员报错,开发人员说正常"的问题 ------ 只需切换环境变量中的
base_url,无需修改请求路径。
-
示例 :
- 开发环境:
base_url = http://dev.example.com - 测试环境:
base_url = http://test.example.com - 请求中写:
{``{base_url}}/api/login
- 开发环境:
-
设置方法 :
jspm.environment.set("base_url", "http://test.example.com");使用:
{``{base_url}}
铁汁,咱通俗点讲:开发、测试、预发布......环境一大堆,想来回切换测接口,就得用环境变量。
比如测试老妹说接口报错,开发小哥说他本地调得好好的------这时候环境变量就出来了。配两个环境:一个"开发"、一个"测试",同一个请求里随便切。开发环境和测试环境差别就一个:IP地址(或域名)不一样,其他都一样。所以把地址抽成变量,切换就完事了。
2.1 实操演示
使用环境变量分三步:
- 第一步:设置环境变量
- 第二步:在请求地址中使用
{``{环境变量名}}取环境变量的值 - 第三步:在右上角选择对应的环境变量
1)设置环境变量
接下来根据我的步骤,一步一步的操作,如图所示👇

a、首先设置开发环境

b、然后再创建一个测试环境




c、注意环境变量名必须一致

2)在请求地址中使用{``{环境变量名}}取环境变量的值

一图解释为什么需要这样做

但是你只是选择我们的变量,没有达到我们测试的效果的,你还得指定你要选择的是开发环境还是测试环境,此时就进入我们的第3步👇
3)在右上角选择对应的环境变量
a、点击图中的东西

b、点击选择环境

c、选择你需要的测试的环境


d、解释原理

f、运行看结果

3、 全局变量(Globals)
-
定义:在整个 Postman 工作区(所有集合或者所有项目、所有环境)中全局唯一、共享的变量。
-
作用范围:当前登录账号下的所有集合、所有环境。
-
生命周期:持久保存,除非手动删除。
-
典型使用场景 :
- 极少使用,因为容易造成变量污染(不同集合相互覆盖)。
- 仅建议用于真正需要跨集合共享的数据(如跨项目的测试账号 token,但通常不推荐)。
-
缺点:多人协作或同时跑多个集合时,变量值可能被意外覆盖,导致结果混乱。
-
设置方法 :
jspm.globals.set("global_var", "some value");使用:
{``{global_var}}
4、一句话总结表
| 变量类型 | 作用范围 | 生命周期 | 推荐用途 | 是否常用 |
|---|---|---|---|---|
| 集合变量 | 当前集合 | 持久 | 接口关联(传 token、id 等) | ⭐⭐⭐⭐⭐ |
| 环境变量 | 当前选中的环境 | 持久 | 切换开发/测试/生产环境地址 | ⭐⭐⭐⭐⭐ |
| 全局变量 | 整个工作区 | 持久 | 尽量避免使用 | ⭐ |
到此为止,我们单个去执行我们的接口基本上没有问题的,但是我们如果想批量去运行接口,怎么做呢?老铁们,继续往下看👇
二、Postman批量运行接口测试
Postman批量运行接口测试有三种方式
1、方式一:手动运行
1.1 右键项目名称点击Run

1.2 设置各个属性

1.3 运行之后会跳转到结果页面

1.4 点击项目名称-->在点击runs查看运行结果




1.5 解决批量运行文件上传失败的问题
你看对于文件上传我们报错了:

失败的原因就是你的文件他找不到,因为你的文件是存在本地的,而你批量执行接口是我们Postman服务器给你干的事情。
因此你得先把你的文件上传到Postman的服务器里面去👇




此时再次批量运行,那么对于文件上传就会成功👇
提示:批量运行记得将你的接口保存好
结果:

2、方式二:定时运行(不常用,了解即可)
这个定时运行我们一般不会使用,因为我们有一个比他好用的就是做持续集成的时候使用Jenkins也可以完成定时运行,这里我们对它的功能做简单的介绍👇

3、方式三:CLI命令行方式运行
3.1 选择CLI命令方式

3.2 下载CLI

复制命令安装

默认安装路径是:

win+r 输入cmd,再将命令粘贴到里面如下:

验证是否安装成功:postman --version

3.3 登录服务器
根据Postman提示

1)登录需要密钥

点击创建👇

输入名字

点击插入👇

常见问题:密钥创建失败,此时是因为你创建的密钥个数受到限制了,那么你根据他的提示删除之前不用的秘钥即可
2)将命令复制到命令行登录服务器

粘贴到命令行执行登录操作

登录成功之后,我们就开始运行项目了
3.4 登录成功之后运行项目
复制命令

开始指向命令,然后运行项目👇


3.5 去Postman右键项目名称-->点击runs查看结果


出现日志问题

原因

也就是说他有他自己的设计场景,不用去纠结。
OK,各位铁汁,本期「变量+批量运行」就硬核到这里啦~下一期咱整点更刺激的:结果断言 + 数据驱动,让你一键跑完几十条用例,还能自动判断对错。记得点个关注,咱下期不见不散!🎉
三、写在最后
🎯 看到这里,辛苦啦!歇一歇,喝口水,让眼睛放松一下
这篇笔记我写了很久,如果对你有哪怕一点点帮助,请点一下「关注」 。
后面我还会继续分享很多自学干货笔记,都是自己边学边总结的,依然会是零基础能看懂、每一步都截图的那种详细笔记 。
我是学生,没什么能送你的,只能保证每一篇都认真写、不藏私。
我能给的,就是一篇一篇亲手整理的、零基础也能看懂的干货笔记。
你的每一次关注,都是我继续写下去的动力。
谢谢你的时间,我们下一篇笔记见 👇
(如果这篇笔记有写错的地方,也请一定在评论区告诉我,我会第一时间修改)

下一篇见咯,兄弟们~~

