使用Postman测试需要授权的接口问题

Postman是一款免费的http模拟请求工具,常用来测试开发接口。实际场景中,很多接口是需要授权才能使用。这就需要Postman获取授权,把返回的token保存,在调用其他接口时连同token一起传递。

我所在的项目基于spring全家桶,正常流程是:调用获取验证码接口 -> 登录接口 -> 调用业务接口 。

  • 新建一个登录请求

"{{参数名}}"代表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);
    }
});

  • 登录后保存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模拟登录请求完成。

脚本基于javascript语法,对于web开发者非常简单。

Postman专用函数和更多用法参考:learning.postman.com/docs/writin…

测试

发送请求,在Postman控件台有输出日志

此时变量 captchaKey 和 header-authorization 的值是接口返回的值。

再新建一个接口,在header中传入登录后返回的授权信息。

不同系统的接口设计不一样。我的项目是在header中加入 Authorization 字段传递授权信息。

执行接口请求,返回成功。

举一反三

很多APP的接口会对数据加密。新建一个加密服务,用脚本使Postman在发送数据前先请求加密服务获取密文,再发送。然后处理返回结果,请求加密服务解密,就能实现接口测试了。

到此这篇关于用Postman测试需要授权的接口的文章就介绍到这了,更多相关Postman授权的接口内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot多文件上传实现使用postman测试多文件上传接口

    使用postman测试多文件上传接口 1.创建测试类(FileController.java) package com.jeff.controller; import java.io.File; import java.io.IOException; import java.util.List; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annot

  • postman批量执行接口测试的图文步骤

    目录 一. 创建测试用例 二.设置全局变量 三.设置请求参数 四.写批量请求脚本 五.批量添加 我们有时候为了测试会虚拟创建一些用户,这时候我们可能会通过写sql脚本的形式,但如果没有理清增加用户的注意事项等,往往造出来的数据不能用,比较方便的操作就是直接用postman写一个批量调用的脚本. 一. 创建测试用例 这样我们就会发现有一个测试用例. 二.设置全局变量 有些情况下,我们需要一些变动的值,就比如我创建用户,我的用户名,邮箱等不能是一层不变的,那么我们可以用一个变量,来改变这些值. 在这

  • 使用Postman和SoapUI工具测试WebService接口

    一.使用Postman测试WebService接口 Postman:适用RESTful接口(HTTP/HTTPS协议)的功能测试 通过浏览器访问http://oa.tmt.tcl.com/ekp/sys/webservice/scbcWebserviceEntrance?wsdl可以看到如下信息: 打开Postman界面如下: 设置请求方式为”POST” 设置Content-Type为text/xml;charset=UTF-8 设置body请求调用的方法excute及对应的参数param 注意

  • 使用postman进行接口测试的方法(测试用户管理模块)

    这节介绍接口测试工具postman的基本使用方法, 测试系统就是2.8节自己开发的具有用户增删改查操作的web应用程序--[FirstJavaWeb](https://www.jb51.net/article/203984.htm). 执行测试前,确保FirstJavaWeb应用程序处于启动中. 1.下载,安装postman 下载后,双击安装即可: 链接: https://pan.baidu.com/s/10muL3Gp-RvCfV_fUgl1QTA 提取码: y6gg 2.启动postman,

  • postman接口做关联测试的方法步骤

    目录 应用场景 方法:通过设置全局变量/环境变量 方法一:设置全局变量 方法二:环境变量 应用场景 假设下一个接口登录需要上一个接口的返回值,例如请求需要先登录获取到token,下一个请求要携带对应的token才能进行请求 方法:通过设置全局变量/环境变量 方法一:设置全局变量 1.先请求登录接口,请求成功之后,返回对应的token 2.在对应的第一步请求成功之后的tests下通过js来设置全局变量 #获取接口返回值 var jsonData = JSON.parse(responseBody)

  • 使用postman进行接口自动化测试

    目录 一.接口结果判断 1.功能区 2.脚本相关 3.代码模板 二.集合(批量)测试 1.批量执行 2.变化的参数数据 1.使用变量 2.Pre-request Script 3.测试数据集 3.定期任务 三.请求依赖问题 1.接口执行顺序 2.数据传递 1.全局变量 2.多环境区分与切换 3.变量的创建 4.使用与切换 3.解决依赖问题 1.假设场景 2.思路 3.Postman 中的操作 4.运行并查看结果 我们先思考一下,如果需要达到自动化接口测试的效果,那么我们在基本的模拟请求上还需要

  • 使用Postman测试需要授权的接口问题

    Postman是一款免费的http模拟请求工具,常用来测试开发接口.实际场景中,很多接口是需要授权才能使用.这就需要Postman获取授权,把返回的token保存,在调用其他接口时连同token一起传递. 我所在的项目基于spring全家桶,正常流程是:调用获取验证码接口 -> 登录接口 -> 调用业务接口 . 新建一个登录请求 "{{参数名}}"代表Postman的环境变量 captchaKey 调用获取验证码返回 captchaCode 验证码,因为是测试环境,固定88

  • postman测试接口各种类型传值的实现

    目录 一.GET传参 二.POST传参 三.Header 四.下载文件 一.GET传参 二.POST传参 1. application/x-www-form-urlencoded格式 2. application/json格式 2.1 Map或实体类型 2.2.List传值 3.multipart/form-data上传文件 三.Header 四.下载文件 到此这篇关于postman测试接口各种类型传值的实现的文章就介绍到这了,更多相关postman 接口类型传值内容请搜索我们以前的文章或继续浏

  • postman测试post请求参数为json类型的实例讲解

    引言 Postman 是一个用来测试Web API的Chrome 外挂软件,可由google store 免费取得并安装于Chrome里,对于有在开发Web API的开发者相当有用,省掉不少写测试页面呼叫的工作,通常我们看到的使用情境多数是直接呼叫Web API而未随着Request发送相关所需参数,本篇就来说明如果我们想要在呼叫Web API时一并夹带JSON数据时,该如何使用Postman? 需求 采用POST的请求方式,并且须夹带JSON数据给Web API使用教程 第一.设置URL 第二

  • postman测试传入List<String>参数方式

    目录 postman测试传入List<String>参数 第一步:设置headers 第二步:传值参数list<String> 第三步: 使用postman传List参数 1.后台部分 2.postman部分 postman测试传入List<String>参数 第一步:设置headers Content-type 的值为application/json 第二步:传值参数list<String> 在body中,传值参数,list<String> 使

  • Springboot整合MongoDB进行CRUD操作的两种方式(实例代码详解)

    1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合MongoDB的两种方法:MongoRepository和MongoTemplate. 代码结构如下: 2 项目准备 2.1 启动MongoDB实例 为了方便,使用Docker来启动MongoDB,详细指导文档请参考:基于Docker的MongoDB实现授权访问的方法,这里不再赘述. 2.2 引入相关依赖

  • Spring boot整合Mybatis实现级联一对多CRUD操作的完整步骤

    前言 在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Mybatis并完成CRUD操作,这是本文操作的基础.本文先准备一个测试的数据库,然后使用MyBatis Generator进行部分代码自动生成,再以一个例子来展示稍微高级点的操作:使用Mybatis完成级联一对多的CRUD操作. 数据库准备 数据库用到三张表:user表,role表,user_ro

  • axios异步提交表单数据的几种方法

    踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSecurity,使用postman测试后端的权限接口时发现都正常,但是使用vue+axios发送异步的请求后端一直获取不出axios提交的form表单的数据,爬坑两个半钟头找到了答案 axios用post异步形式提交的数据和我们直接使用from表单提交的数据的格式(Form Data格式)是不一样的,在下面列举 默认格式Request Payload 直接使用axios发送异步请

  • SpringBoot+WebSocket+Netty实现消息推送的示例代码

    上一篇文章讲了Netty的理论基础,这一篇讲一下Netty在项目中的应用场景之一:消息推送功能,可以满足给所有用户推送,也可以满足给指定某一个用户推送消息,创建的是SpringBoot项目,后台服务端使用Netty技术,前端页面使用WebSocket技术. 大概实现思路: 前端使用webSocket与服务端创建连接的时候,将用户ID传给服务端 服务端将用户ID与channel关联起来存储,同时将channel放入到channel组中 如果需要给所有用户发送消息,直接执行channel组的writ

  • Spring Boot+Shiro实现一个Http请求的Basic认证

    目录 前言 实践部分 测试部分 总结 前言 今天跟小伙伴们分享一个实战内容,使用Spring Boot+Shiro实现一个简单的Http认证. 场景是这样的,我们平时的工作中可能会对外提供一些接口,如果这些接口不做一些安全认证,什么人都可以访问,安全性就太低了,所以我们的目的就是增加一个接口的认证机制,防止别人通过接口攻击服务器. 至于Shiro是什么,Http的Basic认证是什么,王子就简单介绍一下,详细内容请自行了解. Shiro是一个Java的安全框架,可以简单实现登录.鉴权等等的功能.

随机推荐