使用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 相关文章推荐
Spring Data JPA使用JPQL与原生SQL进行查询的操作
Jun 15 Java/Android
死磕 java同步系列之synchronized解析
Jun 28 Java/Android
SpringBoot读取Resource下文件的4种方法
Jul 02 Java/Android
Spring Boot 整合 Apache Dubbo的示例代码
Jul 04 Java/Android
SpringBoot快速入门详解
Jul 21 Java/Android
使用logback实现按自己的需求打印日志到自定义的文件里
Aug 30 Java/Android
java如何实现socket连接方法封装
Sep 25 Java/Android
Java中的随机数Random
Mar 17 Java/Android
Spring Boot配合PageHelper优化大表查询数据分页
Apr 20 Java/Android
JAVA 线程池(池化技术)的实现原理
Apr 28 Java/Android
解决Springboot PostMapping无法获取数据的问题
May 06 Java/Android
Spring boot实现上传文件到本地服务器
Aug 14 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验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
Python实现的金山快盘的签到程序
2013/01/17 Python
python写xml文件的操作实例
2014/10/05 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
python实现桌面气泡提示功能
2019/07/29 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
产品销售员岗位职责
2013/12/18 职场文书
大学总结自我鉴定
2014/01/18 职场文书
司法助理专业自荐书
2014/06/13 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
民事代理词范文
2015/05/25 职场文书
2016七夕情人节寄语
2015/12/04 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
python读取mat文件生成h5文件的实现
2022/07/15 Python