接口测试-postman-全局变量与环境变量
文章目录
- (一)概念
- (二)设置变量
- (三)获取变量值
- (四)案例1:用户认证流程(使用环境变量)
- (五)案例2:跨环境共享用户 ID(使用全局变量)
(一)概念
- 全局变量:全局变量是全局唯一的,不可重复定义的变量。
- 环境变量:
① 一个变量只能属于某个环境,在某一个环境中变量不可重复定义;
② 在环境与环境之间可以定义重复的变量;
③ 一个环境可以包含多个环境变量;
④ 常见环境分类:开发环境、测试环境、生产环境
(二)设置变量
1.全局变量
pm.globals.set("var_name",value);
2.环境变量
pm.environment.set("var_name,value");
(三)获取变量值
一、全局变量
1.请求参数中获取:{{var_name}}
2.代码中获取:var value = pm.globals.get("var_name");
二、环境变量
1.请求参数中获取:{{var_name}}
2.代码中获取:var value = pm.environment.get("var_name");
(四)案例1:用户认证流程(使用环境变量)
场景:在测试环境中,用户登录后获取 token,后续请求需要携带此 token 作为身份验证。
- 创建“测试环境”,包含变量:
base_url
(值为https://test-api.example.com
) - 登录请求(POST
{{base_url}}/login
) - 在登录请求的 Tests 脚本中设置 token 为环境变量:
var jsonData = pm.response.json();
pm.environment.set("token", jsonData.token);
- 后续请求的 Headers 中添加:
Authorization: Bearer {{token}}
(五)案例2:跨环境共享用户 ID(使用全局变量)
场景:需要在开发、测试、生产环境中使用相同的测试用户 ID。
- 设置全局变量:
test_user_id
(值为10001
) - 在所有环境的用户详情请求中使用:
{{base_url}}/users/{{test_user_id}}
- 这样切换环境时,无需修改用户 ID,只需确保各环境都有
base_url
变量。