使用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 相关文章推荐
解决SpringBoot文件上传临时目录找不到的问题
Jul 01 Java/Android
详解JAVA的控制语句
Nov 11 Java/Android
SSM项目使用拦截器实现登录验证功能
Jan 22 Java/Android
SpringCloud Feign请求头删除修改的操作代码
Mar 20 Java/Android
SpringBoot整合minio快速入门教程(代码示例)
Apr 03 Java/Android
Java版 单机五子棋
May 04 Java/Android
Java线程的6种状态与生命周期
May 11 Java/Android
Android studio 简单计算器的编写
May 20 Java/Android
利用正则表达式匹配浮点型数据
May 30 Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
Jun 16 Java/Android
Java+swing实现抖音上的表白程序详解
Jun 25 Java/Android
springboot+rabbitmq实现智能家居实例详解
Jul 23 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 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
python实现取余操作的简单实例
2020/08/16 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
工程安全员岗位职责
2014/03/09 职场文书
开工仪式策划方案
2014/05/23 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
「魔法少女伊莉雅」美游粘土人开订
2022/03/21 日漫
Docker安装MySql8并远程访问的实现
2022/07/07 Servers