使用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事件发布与监听机制
Jun 30 Java/Android
Java基础之this关键字的使用
Jun 30 Java/Android
详解JAVA的控制语句
Nov 11 Java/Android
解析mybatis-plus中的resultMap简单使用
Nov 23 Java/Android
mybatis源码解读之executor包语句处理功能
Feb 15 Java/Android
JavaWeb Servlet开发注册页面实例
Apr 11 Java/Android
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
Apr 13 Java/Android
一文搞懂Java中的注解和反射
Jun 21 Java/Android
MyBatis XPathParser解析器使用范例详解
Jul 15 Java/Android
springboot+rabbitmq实现智能家居实例详解
Jul 23 Java/Android
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
Aug 05 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实现用户认证及管理完全源码
2007/03/11 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
jquery 插件学习(五)
2012/08/06 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
浅析Node.js非对称加密方法
2018/01/29 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
Python多进程分块读取超大文件的方法
2016/04/13 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
Python如何输出整数
2020/06/07 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
出国留学自荐信
2013/10/25 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
2015大学迎新标语
2015/07/16 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
新手初学Java网络编程
2021/07/07 Java/Android