变量

问题思考
在开发不同阶段可能存在不同的环境,比如测试环境和生产环境。
测试环境 API 如下:
https://dev.postman.com/get
https://dev.postman.com/post
https://dev.postman.com/put
生产环境 API 如下:
https://postman-echo.com/get
https://postman-echo.com/post
https://postman-echo.com/put
 
在这么情况下,按照常规思路要么你需要维护两套环境的 API,要么每次都手动一个个去修改 URL,不管哪种选择都比较麻烦且低效,那么有没有比较的好的方法来解决这个问题呢?
 
Postman 变量类型
通过比较我们可以发现,以上两组 API 主要是除了 host 不同之外其他都一样,其实把 Host 用变量替换,这样就 可以灵活切换环境。
Postman 提供了变量设置,有 4 种变量类型。
  • 本地变量(LocalVariable )
  • 全局变量(Global Variable)
  • 环境变量(Environment Variable)
  • 数据变量(Data Variable)
 
环境变量
环境变量指在不同环境,同一个变量值随着环境不同而变化,比如我们上面举例场景就可以使用环境变量,当在测试环境时,host 值为: dev.postman.com ,当切换到生产环境时,host 值变为:postman-echo.com 。
 
环境变量设置: 在 postman 界面点击右上角眼睛图标,即可开始设置环境变量和全局变量。环境变量设置过程如下图所示:
我们可以设置两种环境 dev 和 release,dev 是开发测试环境;release 是正式的生产环境。host 环境变量,根据不同的环境值不一样。
 

008、Postman 环境变量   ( 当环境变量和全局变量名称一样时,切换到某个环境时,环境变量会覆盖全局变量。)_测试环境

 008、Postman 环境变量   ( 当环境变量和全局变量名称一样时,切换到某个环境时,环境变量会覆盖全局变量。)_环境变量设置_02

 

变量引用格式为{{varname}},如下图所示:

008、Postman 环境变量   ( 当环境变量和全局变量名称一样时,切换到某个环境时,环境变量会覆盖全局变量。)_测试环境_03

 008、Postman 环境变量   ( 当环境变量和全局变量名称一样时,切换到某个环境时,环境变量会覆盖全局变量。)_环境变量设置_04

 

生产环境,https://postman-echo.com/get 点击 send 之后,成功如下 :
008、Postman 环境变量   ( 当环境变量和全局变量名称一样时,切换到某个环境时,环境变量会覆盖全局变量。)_生产环境_05
 
(备注:测试环境点击send 后会失败,正常现象,因为测试环境地址,是自定义的,不存在。)

008、Postman 环境变量   ( 当环境变量和全局变量名称一样时,切换到某个环境时,环境变量会覆盖全局变量。)_环境变量设置_06