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


Posted in Java/Android onJune 21, 2022

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

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

  • 新建一个登录请求

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

"{{参数名}}"代表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);
    }
});

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

  • 登录后保存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测试需要授权的接口问题

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

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

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

测试

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

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

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

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

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

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

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

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

举一反三

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

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


Tags in this post...

Java/Android 相关文章推荐
Java内存模型之happens-before概念详解
Jun 13 Java/Android
Java并发编程之Executor接口的使用
Jun 21 Java/Android
Feign调用全局异常处理解决方案
Jun 24 Java/Android
分析并发编程之LongAdder原理
Jun 29 Java/Android
使用Springboot实现健身房管理系统
Jul 01 Java/Android
SpringBoot集成Druid连接池连接MySQL8.0.11
Jul 02 Java/Android
聊聊SpringBoot自动装配的魔力
Nov 17 Java/Android
Java 在线考试云平台的实现
Nov 23 Java/Android
springboot 自定义配置 解决Boolean属性不生效
Mar 18 Java/Android
SpringCloud Function SpEL注入漏洞分析及环境搭建
Apr 08 Java/Android
Spring Boot配合PageHelper优化大表查询数据分页
Apr 20 Java/Android
Android移动应用开发指南之六种布局详解
Sep 23 Java/Android
springboot集成redis存对象乱码的问题及解决
Jun 16 #Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
Jun 16 #Java/Android
Java中的Kotlin 内部类原理
Jun 16 #Java/Android
Spring Security动态权限的实现方法详解
Java实现注册登录跳转
Jun 16 #Java/Android
Java界面编程实现界面跳转
springboot实现string转json json里面带数组
Jun 16 #Java/Android
You might like
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
从零学python系列之从文件读取和保存数据
2014/05/23 Python
Python中获取对象信息的方法
2015/04/27 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Python线性回归实战分析
2018/02/01 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
Python如何定义接口和抽象类
2020/07/28 Python
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
大学专科生推荐信范文
2013/11/23 职场文书
大学毕业自我评价
2014/02/02 职场文书
厨师长岗位职责
2014/03/02 职场文书
公共场所禁烟标语
2014/06/25 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
Python socket如何解析HTTP请求内容
2022/02/12 Python