Postman 及 Newman 使用开发指南(二):Postman 环境变量与全局变量
使用API的常见场景是开发人员有自己的本机开发(dev)环境,团队之间共用测试(staging)环境,对外提供生产(production)环境。
本文假设各种环境的链接如下:
1  | dev http://localhost  | 
开发人员对/users接口进行调试时,如果没有环境变量,则可能要不断地输入以下链接进行替换:
1  | http://localhost/users  | 
Postman 提供了环境变量(Environment Variable),来解决这个问题。
环境变量
管理
Postman 环境变量相关按钮放置在Builder页面的右上角。

点击最右的 ⚙️ 图标,可以添加、编辑、查看环境。首先,我们添加一个staging的环境,下属变量url设置为http://staging 。

再添加dev和production环境。

使用示例
我们将环境切换为dev,在地址栏输入/users,查看“Code”代码:
1  | GET /users HTTP/1.1  | 
可见,Postman 自动将解析为http://localhost。
全局变量
API测试时,也常有这样的场景:首先要进行登录,登录后获取用户名,而用户名将在后续请求中使用。
Postman 提供了全局变量(Global Variable),来解决类似问题。
设置全局变量
至少有三种方式来设置全局变量:
- Postman 全局变量的按钮放置在Builder页面的右上角,👁️ 图标。
 

点击“Global”对应的“Edit”即可进入管理页面:

- Pre-request Script
 - Tests
 
其中方式2和方式3都可以用以下命令设置全局变量:
1  | postman.setGlobalVariable("variable_key", "variable_value");  | 
示例
我们首先通过上节的方式1添加一个全局变量:leap_year_2016

我们访问 Postman 官方示例中判断年份是否为闰年的链接:
1  | https://postman-echo.com/time/leap?timestamp=2016-10-10  | 
然后在Tests里添加如下代码:
1  | var jsonData = JSON.parse(responseBody);  | 

发送请求后,由于2016年是闰年,所以全局变量leap_year_2016值应变为true。
查看一下:

leap_year_2016=true,符合预期。
Postman 及 Newman 使用开发指南(二):Postman 环境变量与全局变量
https://blog.weixinbook.net/2017/04/21/postman-environment-variable-and-global-variable.html