全局变量和环境变量
全局变量和环境变量
全局变量
-
概念:在 Postman 全局生效的变量,全局唯一。
-
设置:
-
代码设置:
pm.globals.set(“全局变量名”,全局变量的值)
// 示例: pm.globals.set("glb_age", 100)
-
-
获取:
-
代码获取:
var 接收值的变量 = pm.globals.get(“全局变量名”)
// 示例: var ret = pm.globals.get("glb_age") // ret 的值为 100
-
请求参数获取(postman界面获取):
{{全局变量名}}
// 示例: {{glb_age}}
-
环境变量
-
概念:在 特定环境(生产环境、开发环境、测试环境)下,生效的变量,在本环境内唯一。
-
设置:
-
代码设置:
pm.environment.set("环境变量名", 环境变量值)
// 示例 pm.environment.set("env_age", 99)
-
-
获取:
-
代码获取:
var 接收值的变量 = pm.environment.get("环境变量名")
// 示例 var ret = pm.environment.get("env_age") // ret 的值为 99
-
请求参数获取(postman界面获取):
{{环境变量名}}
// 示例 {{env_age}}
-
Postman 请求前置脚本
- 在 send 按钮点击后,请求前置脚本代码,第一时间被执行。在 postman 内部实际 http请求之前。
假设,这样一种场景:
调某接口时,要输入 “时间戳”,如果输入的 “时间戳” 的绝对值,超过标准时间10分钟。 则不允许调用。
时间戳
- 时间戳:对应绝对时间,从 1970年1月1日00:00:00 到现在 所经历的秒数。
一天:86400秒
51年 6月(180) 9天 — 1,624,665,600 秒
案例
调用百度首页接口,传时间戳给服务器
实现步骤:
-
在 Pre-request Script 标签页中,添加代码。拿到时间戳,写入全局变量
// 拿到时间戳 var timestamp = new Date().getTime() // 将时间戳设置到 全局变量 pm.globals.set("glb_timestamp", timestamp)
-
点击 Send 按钮,发送请求。请求发送前执行 上述代码。写入全局变量
-
查看写入的变量
- 在 请求参数(界面)中,使用全局变量。{{全局变量名}}
- 在 postman的 控制台,查看 发送的 http请求