使用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 Optional<Foo>转换成List<Bar>的实例方法
Jun 20 Java/Android
图解排序算法之希尔排序Java实现
Jun 26 Java/Android
SpringBoot实现异步事件驱动的方法
Jun 28 Java/Android
Java图书管理系统,课程设计必用(源码+文档)
Jun 30 Java/Android
Log4j.properties配置及其使用
Aug 02 Java/Android
java objectUtils 使用可能会出现的问题
Feb 28 Java/Android
Android超详细讲解组件ScrollView的使用
Mar 31 Java/Android
Java 通过手写分布式雪花SnowFlake生成ID方法详解
Apr 07 Java/Android
java高级用法JNA强大的Memory和Pointer
Apr 19 Java/Android
Android开发 使用文件储存的方式保存QQ密码
Apr 24 Java/Android
volatile保证可见性及重排序方法
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 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
Javascript数组中push方法用法分析
2016/10/31 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
详解Python中的循环语句的用法
2015/04/09 Python
python实现二叉树的遍历
2017/12/11 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
opencv python如何实现图像二值化
2020/02/03 Python
python3正则模块re的使用方法详解
2020/02/11 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
中英文自我评价常用句型
2013/12/19 职场文书
公司安全管理制度范本
2015/08/05 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js