Ubuntu下 Postman 环境变量设置与高效使用
一 核心概念与优先级
- 在 Postman 中可以创建多个环境(如:开发/测试/生产),每个环境包含一组键值对变量,便于在不同 API 基础地址与账号配置间快速切换。
- 变量可在请求的URL、Headers、Body、Pre-request Script、Tests中以双花括号引用,例如:{{base_url}}/api。
- 变量作用域与优先级:环境变量(选中环境)> 全局变量(Globals)。同名时,优先级高的会覆盖低的。
- 右上角的环境选择器用于切换当前生效的环境,切换后所有引用该环境变量的请求会自动使用新值。
二 创建与管理环境
- 创建环境
- 打开 Postman;2) 点击左上角Environments > + 或右上角Manage Environments > Add;3) 输入环境名称(如:Dev);4) 在表格中添加键值对,例如:base_url = https://api.dev.example.com;5) 点击Save。
- 使用变量
- 在 URL/Headers/Body 中:使用**{{变量名}},如:{{base_url}}/users**。
- 在脚本中:
- 读取环境变量:pm.environment.get(“base_url”)
- 设置环境变量:pm.environment.set(“token”, “abcd1234”)
- 切换与编辑
- 通过右上角环境选择器切换当前环境;
- 在环境列表中点击环境名称或Edit进行编辑;
- 使用Filter variables快速搜索变量;
- 支持Import/Export .json用于备份与团队协作。
三 全局变量与常见用法
- 创建与使用全局变量
- 入口:Environments > Globals;添加如:Content-Type = application/json;
- 在请求中使用:{{Content-Type}} 或脚本 pm.globals.get(“Content-Type”)。
- 作用域与覆盖规则
- 常见场景示例
- 多环境基地址:在Dev/Test/Prod三个环境中分别设置base_url,请求统一写为:{{base_url}}/login;
- 动态 Token:在登录请求的Tests中解析响应并写入环境:
- 示例(假设响应 JSON 包含 token):
- const jsonData = pm.response.json();
- pm.environment.set(“auth_token”, jsonData.token);
- 在后续请求的 Headers 中使用:Authorization: Bearer {{auth_token}}。
四 导入导出与团队协作
- 导出:在环境列表中选择环境 > Export,保存为 .json;
- 导入:在环境列表中选择 Import > 选择 .json 文件;
- 适用场景:本地备份、跨设备迁移、与团队成员共享同一套变量定义。
五 常见问题与排查
- 变量未解析(仍是**{{xxx}}**)
- 确认右上角已选中正确的环境;
- 检查变量名拼写与大小写是否一致;
- 确认变量在当前环境的Current Value列有值(仅填 Initial Value 可能不生效)。
- 优先级导致的“值不对”
- 同名时环境变量会覆盖全局变量;必要时重命名或调整作用域。
- 脚本中读取/写入失败
- 读取环境:pm.environment.get(“name”);写入:pm.environment.set(“name”, “value”);
- 读取全局:pm.globals.get(“name”);写入:pm.globals.set(“name”, “value”)。