背景
我们在使用Postman时,很多后端接口都需要access-token,我们一般会选择提前在Postman中设置好获取token的request,每次访问前手动获取,复制到环境变量或者接口的header中,这里介绍通过pre-script自动获取token,不再每次都需要手动获取,提高工作效率。
在环境变量中设置基本信息
使用环境变量可以帮助我们快速切换测试环境,预生产环境,生产环境等,不再需要重新配置requests,只需要配置好环境就可以。
假设我们的系统需要使用ak+sk来获取token。
首先,我们新增我们系统的环境(多个环境这里可以新建多套), 点击Postman的Enviroments:
点击create new environment:
设置后端地址,ak,sk等变量,再预留一个空的token变量:
特别注意:要将current value设置正确
创建项目collection 并设置自动获取token
创建一个新的collection(原来就有就不需要重复创建了):
点击创建好的collection,点击pre-script:
编写脚本,获取token
这里提供两种类型的token获取方式,一种是常见的POST请求,json格式的请求体;一种是POST请求,x-www-form-urlencoded方式的请求体,其他的方式可以参考官方教程:
https://learning.postman.com/docs/writing-scripts/pre-request-scripts/
json格式的请求体
代码如下,注释已加:
// pm.environment.get("xxx") 即可获取前面我们设置的环境变量里面的内容 var token_request ={"url":pm.environment.get("base-url")+"/rest/v2/token","method":"POST","header":{"Content-Type":"application/json"},body:{mode:"raw",raw:JSON.stringify({"akvalue": pm.environment.get("ak"),"skvalue": pm.environment.get("sk")})}}
pm.sendRequest(token_request,function(err, response){
console.log(response.json());// 将获取到的token放到环境变量中,后续可继续使用
pm.environment.set("token", response.json().data)});
x-www-form-urlencoded格式的请求体
// pm.environment.get("xxx") 即可获取前面我们设置的环境变量里面的内容 var token_request ={"url":pm.environment.get("base-url")+"/rest/v2/token","method":"POST","header":{"Content-Type":"application/x-www-form-urlencoded;charset=utf-8"},body:{mode:"urlencoded",urlencoded:[{key:"ak",value: pm.environment.get("ak")},{key:"sk",value: pm.environment.get("sk")}])}}
pm.sendRequest(token_request,function(err, response){
console.log(response.json());// 将获取到的token放到环境变量中,后续可继续使用
pm.environment.set("token", response.json().data)});
将collection所有的request都设置使用该token
点击collection的Authorization,type选择API Key, 将认证的header设置上:
环境变量的引用方法为
{{xxx}}
检验结果
直接在该clooection下增加request,他的子文件夹默认也都生效,增加效果如下:
选择刚才配置好的环境,发送请求:
完成。
版权归原作者 夏木瑾苏1 所有, 如有侵权,请联系我们删除。