Postman 中不同变量的使用(环境变量、全局变量)
首先,对在postman中哪些情况下会使用变量做一简单的了解:
1、如果在需要测试的 N 个 API 中,这 N 个 API 的 domain(也就是前缀)都是相同的,譬如:
- https://open.XXXX.com/wiki/2/statuses/user_timeline
- https://open.XXXX.com/wiki/2/statuses/home_timeline
- https://open.XXXX.com/wiki/2/statuses/mentions
以上的三个API接口中,我们就会发现这三个 domain (https://open.XXXX.com/wiki/2/statuses)是相同的,只有最后的一个参数是不同的,我们可以用一个变量来指定下,如:https://open.XXXX.com/wiki/2/statuses/{{ itest_params }}
2、如果上面的三个API接口中的 domain 有一天变了,不再是 https://open.XXXX.com/wiki/2/statuses ,该怎么办呢
- https://{{ itest_domain }}/user_timeline
- https://{{ itest_domain }}/home_timeline
- https://{{ itest_domain }}/mentions
以上的情况来看,我们在做一些接口测试的时候,最好不要一次性的把接口写成固定的,而且同一套接口我们要在不同的环境中进行测试,这时我们就可以利用postman提供的环境切换功能,来根据不同的测试环境来进行设置。
目录
一、postman 中的变量作用域
- Global:全局变量,(可以将错误的提示信息设置成全局变量)
- Environment:环境变量,比如可以将需要测试的 domain 设置成环境变量
- Local:本地变量,一般可以在 sandbox 中进行定义
- Data:从测试的数据中导入的变量,也就是我们常说的那种所谓的参数化
二、创建环境变量
1、在地址栏中输入要测试的接口和参数时,如果指定的参数没有被定义的话,会报错
2、点击右上角的小眼睛按钮会出现如下界面:
3、点击黄色框框中的 “Add” 调出添加环境变量的窗口:
- 1、Environment Name:环境变量的名称(生产环境、测试环境、发布环境等,可以根据不同的环境来命名,方便区分)
- 2、VARIABLE:变量名字
- 3、INITIAL VALUE:用户团队工作时,共享给别人使用的默认值,也称共享初始值
- 4、CURRENT VALUE:当前值,也就是当前使用的变量值(通常我们只设置这个值就可以了)
- 5、Persist All:保持所有,也就是将当前值(CURRENT VALUE)替换所有的初始值
- 6、Reset All:重置所有,也就是将当前所有 (CURRENT VALUE)重置成与当前初始值一样的值
添加后的效果,如上图,确认后点击右下角的 “Add” 即可完成生产环境变量的添加了,添加完成后如下图:
点击右边的 ... 可以查看配置的内容,也可以进行删除操作,如果再次点击右下角的 “Add” 还可以继续添加环境变量
三、创建全局(Global)变量
1、很多步骤和创建环境变量一样,可参考创建环境变量的方法
2、在创建全局变量的动图中,可以发现,我们即便是将环境变量指定为 NO Environment 时,把鼠标移动到地址栏中的参数变量时,发现该参数的值为我们设置的全局变量的值(全局变量是独立于环境的)
3、变量冲突的问题
查看动图我们会发现,当我们选择为 NO Environment 时,发现global中设置的 CURRENT VALUE 的值为可以状态;当我们无论选择为环境变量中的 production 或者 test 环境变量时,发现global中设置的 CURRENT CALUE 的值为不可用状态;也就是说我们设置的环境变量的值是可以覆盖掉全局变量的值的。
四、查看请求返回的值是否与环境变量设置的值一致
1、可以通过控制台查看返回的内容
2、也可以通过打印窗口来查看