Postman中复用值需通过变量机制:全局变量适用于所有集合和环境,环境变量限定于特定环境;二者均用{{key}}引用,且存在优先级规则(局部>集合>环境>全局)。
如果您在Postman中需要跨多个集合或环境复用某个值(如base_url、token、用户名等),则必须通过变量机制实现。全局变量适用于所有集合和环境,而环境变量则限定于特定环境配置。以下是设置全局变量与环境变量的具体操作步骤:
一、设置全局变量
全局变量在整个Postman工作区中均可访问,不依赖任何环境选择,即使当前为“No Environment”状态也能生效。它适合存储长期不变、全项目通用的参数。
1、点击Postman右上角的齿轮图标,选择“Manage Environments”。
2、在弹出窗口中切换至“Globals”标签页。
3、点击“Add”按钮,在Key栏输入变量名称(例如
base_url),在Value栏输入对应值(例如https://api.example.com)。
4、点击“Save”保存配置。
5、在请求URL、Headers或Body中引用该变量时,使用双花括号语法:{{base_url}}。
二、设置环境变量
环境变量用于区分不同部署环境(如开发、测试、预发布、生产),同一变量名在不同环境中可指向不同值,便于一键切换测试目标地址或认证凭据。
1、点击左上角“Environments”旁的“+”号,或进入“Manage Environments”后点击“Add”创建新环境。
2、输入环境名称(例如
test_env),点击“Add”进入编辑界面。
3、在Key-Value表格中添加变量,例如Key为
host,Value为https://test-api.example.com;再添加Key为auth_token,Value为实际令牌字符串。
4、点击“Save”保存环境配置。
5、在Postman右上角环境选择器中,下拉并选中刚创建的
test_env。
6、在请求中引用变量时,同样使用
{{host}}或{{auth_token}}格式。
三、在请求中引用变量并验证生效
变量只有被正确引用且所处作用域有效时才能解析。若变量未生效,通常因环境未激活或引用语法错误。确认变量是否已加载,可点击右上角眼睛图标查看当前生效的变量列表。
1、确保右上角环境选择器已选中目标环境(对环境变量)或处于任意环境(对全局变量)。
PHP基础-环境变量函数等PHP基础-环境变量函数等
vip-kj-zhu/php-kj/4-jQuery-最流行的JS函数库.zip下载
2、新建一个GET请求,在URL栏输入
{{base_url}}/health(若使用全局变量)或{{host}}/status(若使用环境变量)。
3、发送请求前,将鼠标悬停在双花括号变量上,确认提示框中显示预期的值。
4、点击“Send”,观察请求URL是否自动替换为完整地址;若返回404或连接失败,检查变量值是否拼写正确、协议是否完整(含https://)。
四、通过脚本动态设置全局变量
当变量值需从API响应中提取(如登录后获取token),不能静态配置,此时需在Tests脚本中调用Postman API动态写入全局变量,确保后续请求可复用。
1、在登录接口的Tests标签页中,粘贴以下JavaScript代码:pm.globals.set("access_token", pm.response.json().data.token);
2、发送登录请求,确保响应体JSON结构中存在
data.token路径。
3、点击右上角眼睛图标,在Globals区域确认
access_token已显示最新值。
4、在其他需鉴权的请求Headers中,Key设为
Authorization,Value设为Bearer {{access_token}}。
五、变量优先级与冲突处理
当同名变量在多个作用域中定义时,Postman按固定优先级覆盖:局部变量 > 集合变量 > 环境变量 > 全局变量。若发现变量未按预期取值,需检查是否存在更高优先级的同名变量干扰。
1、打开“Manage Environments”,分别检查Globals、各环境、各集合的Variables页签中是否定义了相同Key的变量。
2、临时禁用某环境(切换为“No Environment”),观察变量值是否变化,以此定位作用域来源。
3、在Pre-request Script中执行console.log(pm.variables.get("target_var")),在Console面板中查看实际解析结果。
