使用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异步之call future
Jun 14 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
Java org.w3c.dom.Document 类方法引用报错
Aug 07 Java/Android
springboot如何接收application/x-www-form-urlencoded类型的请求
Nov 02 Java/Android
JavaCV实现照片马赛克效果
Jan 22 Java/Android
Java设计模式之享元模式示例详解
Mar 03 Java/Android
Spring Security使用单点登录的权限功能
Apr 03 Java/Android
Java实现经典游戏泡泡堂的示例代码
Apr 04 Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Apr 08 Java/Android
SpringCloud Function SpEL注入漏洞分析及环境搭建
Apr 08 Java/Android
详解Flutter自定义应用程序内键盘的实现方法
Jun 14 Java/Android
Java Spring Boot请求方式与请求映射过程分析
Jun 25 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 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php 变量定义方法
2009/06/14 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
js脚本获取webform服务器控件的方法
2014/05/16 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
详解jQuery中的事件
2016/12/14 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
python数据处理实战(必看篇)
2017/06/11 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
加拿大女装网上购物:Reitmans
2016/10/20 全球购物
高考自主招生自荐信
2013/10/20 职场文书
企业党员公开承诺书
2014/03/26 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
文明班级建设方案
2014/05/15 职场文书
十岁生日答谢词
2015/01/05 职场文书
质检员岗位职责范本
2015/04/07 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
Redis批量生成数据的实现
2022/06/05 Redis