使用Postman测试需要授权的接口问题

 更新时间:2022年06月17日 15:57:22   作者:攻城狮_正  
Postman是一款免费的http模拟请求工具,常用来测试开发接口。实际场景中,很多接口是需要授权才能使用,这篇文章主要介绍了用Postman测试需要授权的接口,需要的朋友可以参考下

Postman是一款免费的http模拟请求工具,常用来测试开发接口。实际场景中,很多接口是需要授权才能使用。这就需要Postman获取授权,把返回的token保存,在调用其他接口时连同token一起传递。

我所在的项目基于spring全家桶,正常流程是:调用获取验证码接口 -> 登录接口 -> 调用业务接口 。

  • 新建一个登录请求

"{{参数名}}"代表Postman的环境变量 captchaKey 调用获取验证码返回 captchaCode 验证码,因为是测试环境,固定8888

  • 发送请求前执行代码

切换到 Pre-request Script ,编写请求验证码接口脚本

var captchaApi = pm.environment.get("sa-gateway-host") + "/sa-auth/captcha";
pm.sendRequest(captchaApi, function (err, response) {
    //获取返回值
    var responseBody =JSON.parse(response.text());
    //判断返回值是否有data参数
    if (responseBody.data) {
        //如果有则此次验证通过
        tests["first has data"] = true;
        //获取需要的参数
        var captchaKey = responseBody.data.captchaKey;
        //打印获取的参数
        console.log("response.data --> " + captchaKey); 
        //将值写入当前选中的环境中 变成环境变量 
        postman.setEnvironmentVariable("captchaKey", captchaKey);
    }
});

  • 登录后保存token

切换到 Tests ,编写请求登录后的处理脚本

//获取返回值
var response =JSON.parse(responseBody);
//判断返回值是否有data参数
if (response.access_token) {
  //如果有则此次验证通过
  tests["first has data"] = true;
  //获取需要的参数
  var access_token = response.access_token;
  //打印获取的参数
  console.log("access_token --> " + access_token); 
  //将值写入当前选中的环境中 变成环境变量 
  postman.setEnvironmentVariable("header-authorization", "Bearer "+access_token);
}

到这里,Postman模拟登录请求完成。

脚本基于javascript语法,对于web开发者非常简单。

Postman专用函数和更多用法参考:learning.postman.com/docs/writin…

测试

发送请求,在Postman控件台有输出日志

此时变量 captchaKey 和 header-authorization 的值是接口返回的值。

再新建一个接口,在header中传入登录后返回的授权信息。

不同系统的接口设计不一样。我的项目是在header中加入 Authorization 字段传递授权信息。

执行接口请求,返回成功。

举一反三

很多APP的接口会对数据加密。新建一个加密服务,用脚本使Postman在发送数据前先请求加密服务获取密文,再发送。然后处理返回结果,请求加密服务解密,就能实现接口测试了。

到此这篇关于用Postman测试需要授权的接口的文章就介绍到这了,更多相关Postman授权的接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Web端扫码登录的原理和实现讲解

    Web端扫码登录的原理和实现讲解

    这篇文章主要介绍了Web端扫码登录的原理和实现,扫码登录相比较传统的密码登录更加快捷和安全,今天我们就来讲讲原理与实现,主要分为几种不同的解决方案,需要的朋友可以参考下
    2023-03-03
  • 关于图片存储格式的整理(JPEG格式介绍)

    关于图片存储格式的整理(JPEG格式介绍)

    这篇文章主要介绍了关于图片存储格式的整理(JPEG),需要的朋友可以参考下
    2016-01-01
  • 浅析hosts 文件的作用及修改 hosts 文件的方法

    浅析hosts 文件的作用及修改 hosts 文件的方法

    hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。接下来通过本文给大家介绍hosts 文件的作用及修改 hosts 文件的方法,需要的朋友参考下吧
    2018-01-01
  • Git使用小技巧之回滚与撤销详解

    Git使用小技巧之回滚与撤销详解

    这篇文章主要给大家介绍了关于Git使用小技巧之回滚与撤销的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Git具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • VSCode开发必备插件推荐(墙裂推荐!)

    VSCode开发必备插件推荐(墙裂推荐!)

    vscode是微软开发的的一款代码编辑器,就如官网上说的一样,vscode重新定义(redefined)了代码编辑器,下面这篇文章主要给大家介绍了关于VSCode必备插件推荐的相关资料,需要的朋友可以参考下
    2022-11-11
  • vscode配置远程开发与免密登录的技巧

    vscode配置远程开发与免密登录的技巧

    这篇文章主要介绍了vscode配置远程开发与免密登录的技巧,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 详解Metrics应用监控指标的使用说明

    详解Metrics应用监控指标的使用说明

    这篇文章主要为大家详细的介绍了Metrics应用监控指标的使用说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • github访问速度慢的问题完美解决

    github访问速度慢的问题完美解决

    这篇文章主要为大家介绍了github访问速度慢的问题完美解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Websocket IM聊天教程 教你用GoEasy快速实现IM聊天

    Websocket IM聊天教程 教你用GoEasy快速实现IM聊天

    这篇文章主要介绍了Websocket IM聊天教程,小编教你用GoEasy快速实现IM聊天,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-05-05
  • 编写高质量代码的30条黄金守则(首选隐式类型转换)

    编写高质量代码的30条黄金守则(首选隐式类型转换)

    这篇文章主要介绍了编写高质量代码的30条黄金守则(首选隐式类型转换),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08

最新评论