如何通过postman测试需要登录授权的接口

思路

请求需要登录授权的接口,就意味着你要传token给接口,所以请求接口(要测试的接口)之前就要先获取token,因为登录成功后服务端才会返回token,而token又设置了时效,所以每次请求接口(要测试的接口)前最好能自动获取到最新的token,那么只能每次请求需要登录授权的接口之前先请求登录接口,这样才能保证每次获取到最新的token。获取到token后再请求需要登录授权的接口。

步骤

  1. 配置环境变量token
    在这里插入图片描述

  2. 请求接口界面authorization的类型选择bearer token,取环境变量token的值,写法如图所示:
    在这里插入图片描述
    如果还需要传其它参数,则根据不同请求方式在不同的地方设置参数值,例如请求方式为”post“,则在body内设置好参数,如图所示:
    在这里插入图片描述

  3. 在pre-request script 中写JS脚本,访问登录接口,获取token,再赋值给环境变量”token“,具体参考以下脚本代码

//构造登录请求
const loginRequest = {url: 'http://ip地址/project_name/manage/login',method: 'POST',header: 'Content-Type: application/json',  //注意要在Header中声明内容使用的类型body: {mode: 'raw',  // 使用raw(原始)格式raw: JSON.stringify({ account:'sys',password:'123456' }) //要将JSON对象转为文本发送}
};//发送请求
pm.sendRequest(loginRequest, function (err, response) {if(err){//err返回null,则对应的boolean值是falseconsole.log(err);}else{// console.log(err);// console.log(response.text());var jsonData = response.json();//返回json对象console.log("jsonData",jsonData);//赋值给jsonData,再打印输出到控制台var token = jsonData.data.token;//jsonData的data属性也是个json对象,该对象有token属性console.log("token",token);// console.log("textData",response.text())pm.environment.set("token", token);//赋值给环境变量token}
});

登录密码如果要加密怎么办

 var password = pm.environment.get("password");var md5Password= CryptoJS.MD5(password).toString();//使用MD5()方法对变量password的内容加密,然后转成字符串// pm.environment.set("password",md5Password);//加密后的密码字符串赋值给环境变量password//构造登录请求const loginRequest = {url: 'https://www.xxx.com/xxx/manage/login',method: 'POST',header: 'Content-Type: application/json',  //注意要在Header中声明内容使用的类型body: {mode: 'raw',  // 使用raw(原始)格式raw: JSON.stringify({ account:'admin',password:md5Password}) //要将JSON对象转为文本发送}
};//发送请求
pm.sendRequest(loginRequest, function (err, response) {if(err){//err返回null,则对应的boolean值是falseconsole.log(err);}else{// console.log(err);// console.log(response.text());var jsonData = response.json();//返回json对象console.log("jsonData",jsonData);//赋值给jsonData,再打印输出到控制台var token = jsonData.data.token;//jsonData的data属性也是个json对象,该对象有token属性console.log("token",token);// console.log("textData",response.text())pm.environment.set("token", token);//赋值给环境变量token}
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

junit 静态方法_预期异常规则和模拟静态方法– JUnit

junit 静态方法今天,我被要求使用RESTful服务,所以我按照Robert Cecil Martin的TDD规则开始实施它,并遇到了一种测试预期异常以及错误消息的新方法(对我来说至少是这样),因此考虑共享我的实现方法作为这篇文…

wordpress linux 目录,快速搭建WordPress(Linux)

作者:彭济环境要求一、配置LAMP(LinuxApacheMysqlPHP)1、安装apachesudo apt-get install apache2 //安装apache2apache2 -v //查看版本网页访问本机ip地址,查看是否安装成功2、安装phpsudo apt-get install php //安装phpphp -v //查看版本sudo apt-get…

postman测试工具中的js代码中的sendRequest()使用详解

发送get请求 const url http://115.28.108.130:5000/api/user/getToken/?appid136425; // 发送get请求 pm.sendRequest(url, function (err, res) {console.log(err ? err : res.text()); // 控制台打印请求文本 });发送表单格式post请求 //构造一个登录请求 const login…

atheros蓝牙设备驱动 小米_小米Air 13笔记本黑苹果WiFi蓝牙硬件改装方案二

该方案适合小米笔记本Air 13初代,适合小米笔记本PRO等型号,适合通用的预留有M.2 PCIE通道SSD卡槽的电脑。也是作者极力推荐的终极改造方案。总体方案: 使用笔记本主板上的M.2 nvme通道 SSD硬盘接口进行拓展。使用BCM943602CS专用的M.2[NGFF]转接卡进行改…

将经过身份验证的用户注入Spring MVC @Controllers

可以使用AuthenticationPrincipal批注和AuthenticationPrincipalArgumentResolver这是Spring MVS MethodArgumentResolver的实现)将注入经过身份验证的用户注入Spring MVC处理程序方法。 默认情况下, AuthenticationPrincipalArgumentResolver已通过Web安…

Oracle数据库的命令工具sql*plus/sqlplus介绍

Oracle 的 sql*plus 是与 Oracle 数据库进行交互的客户端工具,借助 sql*plus 可以查看、修改数据库记录。在 sql*plus 中,可以运行sql*plus 命令与 SQL 语句。MySQL 中的 mysql、show、mysqldump 等命令就类似于 Oracle 的 sql*plus 客户端命令。 SQL 语…

python实现局域网攻击_通过python实现DNS欺骗

假设在一个的局域网内有两个人:Bob和Eve。Eve想让Bob访问他创建的恶意网页,这样她就可以通过隐藏性的下载给Bob的计算机上安装恶意软件,或者可能展示一个欺骗性的站点来试图窃取Bob的认证信息。(图片来自以上提供的链接&#xff0…

查询linux kafka安装目录,Kafka 1.0.0安装和配置--Linux篇

阅读目录:1. 关闭防火墙和Selinux2. 安装所需环境JDK,Zookeeper3. 下载Kafka 1.0.0版本4. 配置Kafka5. 启动Kafka并验证6. 报错及解决7. 说明1. 关闭防火墙和SelinuxLinux的防火墙是咱们新手的噩梦,很多情况会出现能ping通,但是访问不了Web页…

随机数生成java代码_Java Bullshifier –生成大量随机代码库

随机数生成java代码生成大量随机Java应用程序的命令行工具 您一直在等待的命令行工具。 或不。 毕竟,这是很深奥的。 无论哪种方式,它对某些人都非常有用,而对其他人来说却是一个有趣的实用程序。 Bullshifier是David Levanon和Hodaya Gamli…

背景区域为负样本什么意思_词向量-skipgram与负采样

大纲:1. onehot vs 分布式表示2. 分布式表示的全局泛化能力3. how to learn word2vec - intuition4. SkipGram5. SkipGram Negative Sampling6. 评估词向量7. CBOW与SkipGram对比1. onehot vs 分布式表示Onehot表示:V (apple, going, I, home, machine ,learing)ap…

嵌入式linux应用程序实例,嵌入式Linux应用程序访问物理地址的实例

前言  按照Linux分层驱动思想,外设驱动与主机控制器的驱动不相关,主机控制器的驱动不关心外设,而外设驱动也不关心主机,外设访问核心层的通用应用程序接口进行数据传输,主机和外设之间可以进行任意的组合。这样思想要…

生成验证码图片的Java代码

文章目录验证码演示代码请求资源路径为什么要添加一个随机数的参数验证码演示代码 package priv.lwx.javaex.servlet_demo.web.servlet.response;import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import …

线程同步 线程安全_同步装饰器来替换线程安全类

线程同步 线程安全您知道什么是线程安全吗? 如果没有,下面是一个简单的示例。 所有类都必须是线程安全的,对吗? 并不是的。 其中一些必须是线程安全的? 又错了。 我认为它们都不必是线程安全的,而它们都必须…

python数学要求_python数学工具之积分(1)

加载库Polygon,绘制积分图形。 fig, ax plt.subplots(figsize(7, 5))表示绘图尺寸为7*5;plt.plot(x, y, b, linewidth2)表示绘制蓝色线宽为2的函数图形;plt.ylim(ymin0)表示y轴最小值为0;Ix np.linspace(a, b)表示lx取值范围为[…

linux swap分区与内存,虚拟内存和swap分区的关系

首先,这两个概念分别对应windows和linux,即:windows:虚拟内存linux:swap分区windows即使物理内存没有用完也会去用到虚拟内存,而Linux不一样 Linux只有当物理内存用完的时候才会去动用虚拟内存(即swap分区)…

.net2.0 orm_Java 8:深入研究速度3.0.1“森林”流ORM

.net2.0 orm沿着这条路 我一直在为开源项目Speedment (它是Stream ORM Java工具包和运行时)做出贡献,并且刚刚发布了一个新的主要版本3.0.1“ Forest”。 版本的发布是以加利福尼亚帕洛阿尔托的大街小巷命名,大多数贡献者都在此工…

JavaScript/JS如何给元素对象添加事件

使用普通的 js 代码给元素对象添加事件 绑定事件,添加事件处理程序: var obj document.getElementById("name"); obj.onclick f1; function f1(){ alert("hello!"); }说明:函数名 f1 就是一个引用数据类型的变量&…

forge开发_使用Forge,WildFly Swarm和Arquillian开发微服务

forge开发在这篇文章中,我们将看到如何使用WildFly Swarm和Forge开发微服务,以及如何使用Arquillian和Rest Assured对其进行测试。 WildFly Swarm提供了一种创新的方法来打包和运行Java EE应用程序,方法是将它们与足够的服务器运行时一起打包…

zynq+linux固化程序,如何在 Zynq UltraScale+ MPSoC 上实现 Linux UIO 设计

原标题:如何在 Zynq UltraScale MPSoC 上实现 Linux UIO 设计简介作者: Alex He (何晔), 赛灵思高级嵌入式应用工程师这里的 UIO 即 Userspace I/O,本文中 UIO 泛指 UIO 设备和 UIO 驱动。它在 Linux kernel 的世界里比较小众&…

python初学者代码示例_Selenium 快速入门笔记和代码示例(Python版)

链接 文档链接: 安装 selenium 模块和 Chrome 浏览器驱动 步骤: 安装 Selenium 模块: pip install selenium 下载浏览器驱动(下载即可,无需安装,使用时要指定它的路径):请参考 https…