首页 > 技术文章 > Postman中的全局/环境/集合变量的使用及优先级

superhin 2019-06-06 11:34 原文

变量的使用场景
Postman的变量主要用于参数化和关联

  • 应用1: 常用变量可以按使用范围设置成集合或全局变量
  • 应用2: 一套接口要在不同的环境上测试时, 可以新建两个环境,比如test环境和stage环境, 两个环境中添加base_url变量并设置不同的值, 请求中接口的url中使用{{base_url}}, 这样只需在Postman中切换环境就可以测试不同的环境

切换环境

  • 应用3: 接口依赖, 由于Postman的请求是只读的, 我们在Pre-request Script脚本中不能修改已设置好的请求, 这时我一般通过脚本将所需变量设置为集合/全局/环境变量, 然后在请求中使用{{变量名}}读取变量即可

通过脚本设置环境变量进行参数化

变量设置
Postman中有三种变量:
1.Collection变量(对该集合及子文件夹下所有请求生效), 在新建/编辑Collection->Variables中可以添加
集合中的变量设置

2.全局变量(对所有请求生效), 在环境管理->Globals中添加
点击齿轮图标进入环境管理页面
环境管理页面点击Globals
全局变量设置

3.环境变量(当选择了该环境时生效), 在环境管理页面点击Add添加或点击已存在的环境名称进入环境变量设置
环境变量设置

  • VARIAVLE: 变量名
  • INITIAL VALUE: 共享初始值, 用于团队共享时供别人使用的默认值
  • CURRENT VALUE: 当前值, 自己当前使用的变量值(一般我们只用设置这个值即可)
  • Perisit All: 保持所有, 将当前自己使用的值(CURRENT VALUE)替换所有的初始值
  • Reset All: 重置所有, 将当前所有的CURRENT VALUE重置为与当前初始值一样

变量的使用
1.请求url,params参数或body表格或JSON/XML文本中通过{{变量名}}使用
在URL或参数表格中使用
在Body中使用
2.在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获取

推荐阅读