变量的使用场景
Postman的变量主要用于参数化和关联
- 应用1: 常用变量可以按使用范围设置成集合或全局变量
-
应用2: 一套接口要在不同的环境上测试时, 可以新建两个环境,比如
test
环境和stage
环境, 两个环境中添加base_url
变量并设置不同的值, 请求中接口的url中使用{{base_url}}
, 这样只需在Postman中切换环境就可以测试不同的环境
-
应用3: 接口依赖, 由于Postman的请求是只读的, 我们在Pre-request Script脚本中不能修改已设置好的请求, 这时我一般通过脚本将所需变量设置为集合/全局/环境变量, 然后在请求中使用
{{变量名}}
读取变量即可
变量设置
Postman中有三种变量:
-
Collection变量(对该集合及子文件夹下所有请求生效), 在新建/编辑Collection->Variables中可以添加
-
全局变量(对所有请求生效), 在环境管理->Globals中添加
-
环境变量(当选择了该环境时生效), 在环境管理页面点击Add添加或点击已存在的环境名称进入环境变量设置
- VARIAVLE: 变量名
- INITIAL VALUE: 共享初始值, 用于团队共享时供别人使用的默认值
- CURRENT VALUE: 当前值, 自己当前使用的变量值(一般我们只用设置这个值即可)
- Perisit All: 保持所有, 将当前自己使用的值(CURRENT VALUE)替换所有的初始值
- Reset All: 重置所有, 将当前所有的CURRENT VALUE重置为与当前初始值一样
变量的使用
- 请求url,params参数或body表格或JSON/XML文本中通过
{{变量名}}
使用
- 在Pre-request Script和Tests脚本中使用
在脚本中需要通过以下语句使用
var v_a = pm.variables.get("a"); // 获取项目变量
var g_a = pm.globals.get("a"); // 获取全局变量
var e_a = pm.environment.get("a"); // 获取环境变量
pm.variables.set("a", "c3"); //设置集合变量
pm.globals.set("a", "g3"); // 设置全局变量
pm.environment.set("a", "e3"); //设置环境变量
使用环境变量时注意要选择对应环境
变量优先级
当变量重名时, 优先级为:
环境变量>Collection变量>全局变量(Globals)
更多学习资料请加添加作者微信:lockingfree获取