postman传递动态参数的最佳实践
问题描述
在使用postman调试接口时,遇到一些需要在请求里加上token的接口,若token出现变化,需要手动修改接口的token值,带来重复的工作量,翻看postman使用手册后,我发现了两种方法可以解决这个问题。
一、设置全局/环境变量传递
postman中有个全局变量功能,类似js语法中的全局变量,一旦设置了,就可以在每个接口中获取到值,环境变量的功能也类似。
这里以环境变量为例,说说解决思路:
① 请求一次登录接口,得到token;
② 在postman中新增一个环境变量devToken,将上一步获取到的token赋值给devToken;
③ 其他请求接口根据需要在请求时带上devToken
④ 如果 devToken显示过期,再次请求一次登录接口,这时会将新的token赋值给devToken
具体实现如下:
在postman中新增一个环境变量devToken
如图所示,打开最新版本的postman,然后点击Environments,就可以看到有Globals和下面的environment空白区域;
Globals区域一般用来存储不会随环境变化的参数,而token一般会随环境变化,所以我们还是新建environment参数,点击 “+”:
可以看到多了一个"new environment",这里我们将名字修改为dev;
然后添加一个任意命名的变量(也可以后续在JavaScript脚本里添加,这里为了演示方便,先行添加了),我这里命名为“devToken”:
注意,不要添加initial value和current value,这些都会在我们请求登录接口后设置。
新增完成后,需要将当前环境设置一下:
将获取到的token赋值给devToken
postman在每个接口的Tests区域里,都可以用JavaScript对请求结果做断言结果验证:
如上图所示,右侧是一些常用的写法,这里不做展开阐述,我们用js脚本将验证结果写入到刚才设置的"devToken"里:
pm.test("Status code is 200", function (