在使用 postman 进行后端接口测试的过程中,我常常会遇到除了登录接口外其他接口都需要 token 来验证的情况,遇到这种状况时,我经常会先转到登录接口,获取返回的 token,然后再把这个 token 复制粘帖到需要的地方,这种方式虽然可行,但是每次都要手动来进行操作,着实有点麻烦。
所以我就想 postman 有没有什么机制可以把这个 token 分享出来,然后我直接在 token 的位置使用环境变量来调用就可以了呢?
postman 做了这么久的接口测试,果然这个问题他们早就考虑到了,postman 本身是支持环境变量的,下面就看一下怎么使用吧。
- 点击右上角的小齿轮,添加一个新的环境。
- 在这个环境里创建一个新的变量 token(你可以根据自己的习惯,起一个好记忆的)。
- 在首页选择刚才创建好的环境。
- 添加登录接口请求。
- 打开
Tests
标签,在里面填写pm.environment.set("token", JSON.parse(responseBody).access_token);
,你需要根据自己后端接口的返回来修改JSON.parse(responseBody).access_token
字段,如果你的登录接口返回的也是一个 json 格式的数据,那你只需要根据返回 json 中 token 对应的名字将accsess_token
修改一下就可以了。
打开一个需要使用到 token 的接口,填写好对应的信息,在Authorization
标签里选择Bearer Token
,在 token 的位置填写{{token}}
。 - 发起一次登录请求,请求成功之后,返回需要使用到 token 的接口,发起新的请求,这时候应该是可以正常访问的。
- 如果 token 过期了,那只需要在登录接口那里重新发起一次登录请求,其他需要使用 token 的接口就会自动调用最新的 token。
建议如果是不同的项目,那可以多创建几个环境,然后使用不同的环境变量。
如果所有的项目的 token 类似,也可以考虑创建全局变量。