postman 在接口测试方面备受推崇的原因之一,就在于其强大的变量支持机制,丰富的变量,使得参数化异常简单,极大的提高了脚本的灵活性。
在 postman 中提供了以下五种范围类型的变量:
其中从作用域上来说:全局变量>集合变量>环境变量>数据变量>本地变量
但是从优先级上来说:本地变量>数据变量>环境变量>集合变量>全局变量
下面我们对上述五种变量进行展开说明;
一、全局变量(global)
【1】创建全局变量



如上我们增加了一个全局变量 QQhost,值为 “https://qun.qq.com”,设置完成 点击 Save 按钮进行保存;
【2】全局变量使用
注意在 postman 中引用变量的形式必须为 {{Variables}}的形式进行引用;
设置完变量后,鼠标悬停,可以显示出变量的值,即证明引用成功;
二、集合变量(Collection 和 Collections 变量)
【1】集合变量的创建

将页签切换到 Varables 开始编辑变量名和变量值,编辑完成,点击 Update(或者保存) 按钮让其生效;
【2】集合变量的使用

可见此时集合变量 gc 在其所在集合内已经生效。此时我们切换到另一个集合去引用 gc 变量,就不允许再使用该变量了。
三、环境变量(environment)
环境变量需要我们重点掌握,因为在实际工作中我们都会针对被测系统在多个环境中进行测试,一般情况下至少会经过 开发环境(dev)、测试环境(test)、准生产(uat) 三个环境的测试,才能最终将软件提交生产。而各个测试环境之间的网络接入(即网关)、基础配置信息往往不同,因而我们需要引入环境变量,针对不同环境设置对应的变量;
【1】环境变量创建
请先明确一点:环境变量必须依赖于环境,所以我们创建环境变量之前,必须先创建对应环境。具体步骤如下:
第一步:设置->点击 Add ,创建环境

第二步:设置环境名称,添加对应的环境变量信息
点击 Add(或者保存),即添加完成,添加完成在下图位置可以看到我们设置的环境信息
【2】环境变量使用
首先我们将环境切到 “UAT测试环境”,此时观察 变量“QQhost”的引用
而后我们将环境切换到“test环境”,此时观察 变量“QQhost”的引用
细心的您不难发现,引用环境不同,变量“QQhost”对应的值不同,实现了不同环境对应不同变量的功能。当然我们也可以在各个环境中增加自己独有的变量。
四、数据变量(data)
注意:数据变量只在 Runner 中且当 Runner 正在运行时才会生效。数据变量不能单独添加,必须依赖于文件,支持的文件类型为 .text、.csv、.json
这种数据变量在自动化中应用广泛,后面章节会着重介绍,现在只需了解即可;
五、本地变量(local)
这个变量在 postman 中没有明确指出,但是一般可以将 Request 请求中的预置脚本 Pre-request Scripts 与断言 tests 中 js 脚本定义的变量作为本地变量。这个变量只理解就好,无需掌握。
参考资料:https://www.zhihu.com/column/c_114768572 (感谢原文博主)
