本文的意义是自己做接口测试的时候可以不需要每次token过期都要手动的配置token到header里面
- 就是你的token过期了,我只要点一下登录接口
- 而不是点了登录接口然后还复制token出来又手动去设置token
逻辑是这样的
1. 登录的时候获取 token ->> 并且设置到全局变量 token 中
2. 设置项目的一个前置中间件 ->> 项目中所有的接口请求之前都会走这个前置中间件
3. 前置中间件设置 ->> 获取登录时存储的token变量 ->> 设置token到header里面
4. 请求项目中需要验证的接口时 -> 触发前置中间件 -> 自动设置header中的token ->后端接受验证token是否有效5. 配置ENV环境这样可以通过环境请求不同环境地址的api
6. 要是你的验证码接口是请求返回的是一个url地址的话,你可以通过后置中间件二次请求获取图片
1. 配置登录接口后置钩子
看到右侧边没有,还有很多postman的函数等你发掘!!!
根据我下面的样例配置,解析后的data结构你们根据你们自己的系统配置
下面是我的postman的脚步代码,解析后的data结构你们根据你们自己的系统配置
var data = JSON.parse(responseBody);
// pm.globals.set("access_token", data.data.access_token);
// pm.globals.set("refresh_token", data.data.refresh_token);
// 当然还有另一个全局设置是 collectionVariables 这是当前项目所有的变量
// 细分颗粒度的话推荐用 environment 因为这是当前环境 互不影响其他项目
pm.environment.set("access_token", data.data.access_token);
pm.environment.set("refresh_token", data.data.refresh_token);
2. 设置全局前置钩子
这一步是读取刚刚登录设置的全局变量,然后设置到请求头里面
你们的请求头长啥样你配啥样,因为每个系统的token-key的名字不一样
// key名称和变量名称你根据自己的系统来
// pm.request.headers.add({
// key: "Access-Token",
// value: pm.globals.get("access_token")
// })
// pm.request.headers.add({
// key: "Refresh-Token",
// value: pm.globals.get("refresh_token")
// })
// 当然还有另一个全局设置是 collectionVariables 这是当前项目所有的变量
// 细分颗粒度的话推荐用 environment 因为这是当前环境 互不影响其他项目
pm.request.headers.add({
key: "Access-Token",
value: pm.environment.get("access_token")
})
pm.request.headers.add({
key: "Refresh-Token",
value: pm.environment.get("refresh_token")
})
3. 配置好之后其他接口都不需要手动配置Token啦,减少繁琐的手动替换token
配置好之后你的登录token失效就不要登记完之后还要copy token去手动去配置,方便吧!!!
4. 配置ENV区分本地环境、开发环境、测试环境、生产环境,左侧的E
或者左侧也可以配置,这里可以新增、修改、删除环境变量
配置你的API请求地址
使用环境变量,这样你的host是根据环境动态变化了
配置好之后你就不需要老是去更换host变量了,方便吧!!!
5. 你的项目要是有验证码的话,并且验证码是需要二次请求拿的话你可以看下面示例
先设置接口请求获取返回值
我们看到返回值的url在data.image_url,这时候我们可以设置tests脚本进行二次请求
// 解析json
var data = JSON.parse(responseBody);
// 获取host环境变量的值
var host = pm.environment.get("host");
// 使用host和data.data.image_url构建重定向URL
var imageUrl = `${host}${data.data.image_url}`;
// 发送请求
pm.sendRequest(imageUrl, function (err, res) {
console.log(res)
// 将图片数据转换成base64格式
var imageDataBase64 = res.stream.toString('base64');
// 创建一个HTML页面显示图片
var html = '<img src="data:image/png;base64,' + imageDataBase64 + '" />';
pm.visualizer.set(html);
});
写好tests脚本之后点击一下send,你会发现二维码被我们渲染到visualize里面了文章来源:https://www.toymoban.com/news/detail-753101.html
文章来源地址https://www.toymoban.com/news/detail-753101.html
然后你你可以把验证码输入到登录接口了,这样就不需要自己去浏览器手动copy token,方便吧!!!
到了这里,关于postman通过脚本配置动态token身份验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!