postman测试带token验证的接口,解决token为空问题

时间:2024-10-20 16:06:41

跳转索引

  • 一、适用情况
  • 二、测试接口管理软件
  • 三、解决方案
    • postman全局变量功能
      • 实现步骤
        • ① 新增一个环境并声明环境变量
        • ② 新增获取token的接口,并设置好参数,让接口能正常获取到token
        • ③在获取token请求的tests 检查中为环境变量赋值
        • ④在需要携带token的请求中携带环境变量
      • 其他思路
  • 四、写在最后
    • 相关文章

一、适用情况

众多系统中,都会出现验证登陆状态的需求,以保证只有指定用户在登录状态下才能访问对应数据,也可以用于防止表单重复提交,所以在我们的后端开发会需要进行token的生成和校验,在进行接口测试时,postman中我们也需要携带token进行校验,所以就需要为我们的postman设置环境变量,以实现token的实时刷新,方便我们开发测试。
在不携带token时示例

二、测试接口管理软件

 postman 接口测试

链接: postman官网

三、解决方案

postman全局变量功能

全局变量,环境变量,相信大家都知道,在我们的代码中全局变量声明一次就可以全局调用,环境变量
的范围就会小一点,在规定的范围内可以随时调用。

实现步骤

① 新增一个环境并声明环境变量

新增一个环境并声明环境变量

② 新增获取token的接口,并设置好参数,让接口能正常获取到token

新增获取token的接口,并设置好参数,让接口能正常获取到token

③在获取token请求的tests 检查中为环境变量赋值

在获取token的接口的tests检查中为环境变量赋值

对应的js代码如下:

//测试接口是否正常
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
var data = JSON.parse(responseBody);
if (data.data.access_token) {
//测试获取token是否正常
tests["Body has access_token"] = true;
//赋值环境变量
pm.environment.set("login", data.data.access_token);
}
else {
tests["Body has access_token"] = false;
}

当tests通过,为环境变量赋值成功展示:
设置成功效果图

④在需要携带token的请求中携带环境变量

在需要携带token的请求中携带环境变量,成功演示

其他思路

可以在每个需要携带token的请求前进行预请求,获取得到的token,然后赋值,但感觉不方便,所以推荐上面方法。

四、写在最后

还有很多需要学习的地方,下一步就要去研究一下,自动刷新token是如何实现的,有问题的小伙伴可以互相讨论学习。

相关文章

链接: postman 携带时间戳及md5加密预处理测试