使用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 泛型详解(超详细的java泛型方法解析)
Jul 02 Java/Android
java设计模式--建造者模式详解
Jul 21 Java/Android
logback 实现给变量指定默认值
Aug 30 Java/Android
使用jpa之动态插入与修改(重写save)
Nov 23 Java/Android
SpringDataJPA在Entity中常用的注解介绍
Dec 06 Java/Android
Android 界面一键变灰 深色主题工具类
Apr 28 Java/Android
springcloud整合seata
May 20 Java/Android
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
Jun 01 Java/Android
ConditionalOnProperty配置swagger不生效问题及解决
Jun 14 Java/Android
Java界面编程实现界面跳转
Jun 16 Java/Android
Java中的Kotlin 内部类原理
Jun 16 Java/Android
Spring Boot 的创建和运行示例代码详解
Jul 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php仿discuz分页效果代码
2008/10/02 PHP
PHP文件注释标记及规范小结
2012/04/01 PHP
php批量更改数据库表前缀实现方法
2013/10/26 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
Python3使用requests发闪存的方法
2016/05/11 Python
Django中Model的使用方法教程
2018/03/07 Python
把csv文件转化为数组及数组的切片方法
2018/07/04 Python
python实现简单成绩录入系统
2019/09/19 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Python中实现输入一个整数的案例
2020/05/03 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
大学生村官座谈会发言材料
2014/05/25 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
锅炉工岗位职责
2015/02/13 职场文书
运动会主持人开幕词
2016/03/04 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技