使用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实现分布式事务的三种方案
Jun 11 Java/Android
Spring Cloud Gateway去掉url前缀
Jul 15 Java/Android
解决Jenkins集成SonarQube遇到的报错问题
Jul 15 Java/Android
spring boot中nativeQuery的用法
Jul 26 Java/Android
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
Jan 18 Java/Android
java objectUtils 使用可能会出现的问题
Feb 28 Java/Android
Java实现经典游戏泡泡堂的示例代码
Apr 04 Java/Android
零基础学java之带返回值的方法的定义和调用
Apr 10 Java/Android
Android存储中最基本的文件存储方式
Apr 30 Java/Android
Java 多线程协作作业之信号同步
May 11 Java/Android
mybatis 获取更新记录的id
May 20 Java/Android
Java时间工具类Date的常用处理方法
May 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 has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
php实现网站留言板功能
2015/11/04 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
javascript 禁止复制网页
2009/06/11 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
Python中字典和JSON互转操作实例
2015/01/19 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
django配置app中的静态文件步骤
2020/03/27 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
迷你西餐厅创业计划书范文
2013/12/31 职场文书
乡村文明行动实施方案
2014/03/29 职场文书
档案信息化建设方案
2014/05/16 职场文书
学生会任命书范本
2015/09/21 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫