活用变量,让Postman的使用飞起来

在 Postman 中使用变量是一种非常强大的功能,它可以极大地增强 API 测试和开发的灵活性和效率。

Postman变量的类型

变量在 Postman 中可以在多个层次设置和使用,包括

  1. 全局变量
  2. 环境变量
  3. 集合变量
  4. 局部变量(如在脚本中暂时创建的变量)。

1. 全局变量(Global Variables)

全局变量在所有集合和环境中都是可用的。适合那些在所有测试中都通用的数据。

设置全局变量步骤:

  1. 选择 Postman 顶部导航栏中的“眼睛”图标。
    在这里插入图片描述

也可以点击左侧的“Environment ” 进行设置

在这里插入图片描述

  1. 打开“Globals”标签并添加变量。
变量名      | 初始值    | 当前值
exampleVar | example   | example

2. 环境变量(Environment Variables)

环境变量在特定环境下使用。每个环境都可以配置一组独立的变量,方便在不同的开发、测试和生产环境之间切换。

设置环境变量步骤:

  1. 在“环境”快速查找栏下拉选择环境或新建环境。

在这里插入图片描述

  1. 在打开的环境标签中添加变量。
变量名      | 初始值        | 当前值
baseUrl     | https://api.example.com | https://api.example.com

在这里插入图片描述

3. 集合变量(Collection Variables)

用于存储在特定集合范围内的变量。适合那些仅在当前集合下通用的数据。

设置集合变量步骤:

  1. 打开某个集合的设置。
  2. 进入“Variables”标签并添加变量。
变量名      | 初始值     | 当前值
apiVersion  | v1         | v1

在这里插入图片描述

4. 局部变量(Local Variables)

局部变量主要在脚本中设置并使用,如在Pre-request Script或Tests脚本中创建,并仅在脚本执行过程中有效。

设置局部变量步骤:

  1. 在“Pre-request Script”或“Tests”脚本中使用pm.variables.set()方法。
// 设置一个局部变量
pm.variables.set("sessionId", "123456");

变量的使用

在请求URL、请求头、请求体、测试脚本等地方,通过花括号{{variableName}}的方式引用变量。

示例:

GET {{baseUrl}}/{{apiVersion}}/data
Authorization: Bearer {{apiKey}}

这样配置可以确保,只需要更改环境或调整变量,就能对请求进行快速修改,极大地提高测试的灵活性和可维护性。

示例:在Test Script 设置局部变量

在 Postman 中获取一个 token 并以变量的形式在后续请求中使用,通常涉及到两步:

  1. 发送一个请求来获取 token。
  2. 使用 Postman 的测试脚本功能将 token 保存为一个环境或全局变量。

以下是整个过程的步骤:

步骤 1: 发送登录/身份验证请求以获取 Token

假设你有一个登录 API,它在成功身份验证后返回一个 token,你可以创建一个 POST 请求到登录接口:

  1. 创建一个新的请求。
  2. 在 “Method” 下拉菜单中选择 “POST”。
  3. 输入身份验证 API 的 URL。
  4. 如果 API 需要某些参数,比如用户名和密码,将它们添加到 “Body” 部分,并选择 “raw” 数据格式。

步骤 2: 编写测试脚本来提取和存储 Token

在你接收到身份验证 API 响应后,你需要提取 token 并将其作为变量存储。这可以在 Postman 请求的 “Tests” 标签中完成,使用 JavaScript 编写脚本。

  1. 在 Postman 中对于有 token 返回的请求,在 “Tests” 标签中编写 JavaScript 代码。
  2. 使用pm.response.json()来解析 JSON 响应,并提取 token。
  3. 使用pm.environment.setpm.globals.set来设置环境或全局变量。

比如你的身份验证响应返回如下结构的 JSON:

{"access_token": "your_access_token","expires_in": 3600
}

那么可以这样写测试脚本:

var jsonData = pm.response.json();
pm.environment.set("token", jsonData.access_token);

这个脚本会将access_token字段中的 token 设置到名为 “token” 的环境变量中。

步骤 3: 在其他请求中使用 Token

之后,你可以在其他需要使用这个 token 的 API 请求中,如下所示引用该变量:

Authorization: Bearer {{token}}

在 “Authorization” 标签中你也可以选择 “Bearer Token” 类型,并在 Token 字段中填写{{token}}来自动添加它。

确保在发送包含 token 的请求之前,选择要使用变量的正确环境(如果使用了环境变量)。

注意

  • 第二步中,pm.environment.setpm.globals.set的差异在于,前者将变量保存在当前选定的环境中,后者保存在全局变量中。根据你的需要选择一种方式来设置你的 token。
  • 使用环境变量的一个最佳实践是创建不同的环境,例如开发、测试和生产环境,然后在相应环境中使用对应的变量值。
  • 需要确保环境已经被创建并且被选中,这样设置的变量才会被正确分配到该环境中

变量的嵌套

在Postman 中的变量定义可以嵌套吗? 答案是可以的,类似定义的变量如下:

{{variable_{{anotherVariable}}_suffix}}

举例来说:
在全局变量中定义了 MyApp 这个系统的登录用户的变量MyApp_LOGIN_USER。(在全局变量集中定义各系统的变量,便于集中管理和编辑)
在这里插入图片描述

在某个集合的变量中定义了一个 APP_NAME 的变量
在这里插入图片描述

接下来,在请求的参数中(这里使用Basic认证),就可以使用 {{{{APP_NAME}}_LOGIN_USER}},这个变量对应的就是在全局变量中定义的MyApp_LOGIN_USER。
在这里插入图片描述



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

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

相关文章

Clickhouse 的性能优化实践总结

文章目录 前言性能优化的原则数据结构优化内存优化磁盘优化网络优化CPU优化查询优化数据迁移优化 前言 ClickHouse是一个性能很强的OLAP数据库,性能强是建立在专业运维之上的,需要专业运维人员依据不同的业务需求对ClickHouse进行有针对性的优化。同一批…

想问一下stm32学习哪些东西才算入门并且能做项目?

STM32(所有的MCU都一样)归根结底只是一个工具,能做的事情也很多,如果只谈性能,不考虑稳定性等因素,那么103估计做个导弹控制器,火箭控制器都没有问题,阿波罗登月的主控主频才多少&am…

kafka 消费者 API 使用总结

前言 应用程序使用KafkaConsumer向Kafka订阅主题,并从订阅的主题中接收消息。不同于从其他消息系统读取数据,从Kafka读取数据涉及一些独特的概念和想法。如果不先理解这些概念,则难以理解如何使用消费者API。本文将先解释这些重要的概念&…

Attention步骤

一个典型的Attention思想包括三部分:Qquery、Kkey、Vvalue。 Q是query,是输入的信息;key和value成组出现,通常是原始文本等已有的信息;通过计算Q与K之间的相关性a,得出不同的K对输出的重要程度;…

数据结构与算法基础(王卓)--学习笔记

1 数据结构分类 1.1 逻辑结构分类 集合结构线性结构:线性表、栈、队列、串树形结构图形结构 1.2 物理结构分类 逻辑结构在计算机中的真正表示方式(又称为映射)称为物理结构,也可叫做存储结构 顺序存储结构:数组链…

百度安全X盈科全球数据合规服务中心:推进数据安全及合规智能化创新领域深化合作

6月19日,百度安全与盈科全球数据合规服务中心举行合作签约仪式,双方将充分发挥各自优势,在数据安全及合规智能化创新领域深化合作,在遵守国家法律法规和顺应市场规则的前提下,推动地方经济社会发展,促进企业…

【财经研究】并购重组的“不可能三角”

伴随着沪深IPO景气度下滑后,并购重组正受到市场的关注。 近期监管层正频频为并购重组发声 6月20日,证监会主席吴清在陆家嘴论坛上指出:“支持上市公司运用各种资本市场工具增强核心竞争力,特别是要发挥好资本市场并购重组主渠道作…

鸿蒙NEXT开发知识:工具常用命令—ohpm config

设置ohpm用户级配置项。 命令格式 ohpm config set <key> <value> ohpm config get <key> ohpm config delete <key> ohpm config list 说明 配置文件中信息以键值对<key> <value>形式存在。 功能描述 ohpm 从命令行和 .ohpmrc 文件中…

vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程

不再需要为每一个路由编写冗长的 routes 配置啦&#xff0c;新建文件便可自动生成路由&#xff01; 使用方法 1. 安装 unplugin-vue-router npm i -D unplugin-vue-router2. 修改 vite 配置 vite.config.ts import VueRouter from unplugin-vue-router/viteplugins 中加入 V…

C++——时间戳转年月日时分秒格式

#include <stdio.h> #include <time.h> int main() { // 获取当前时间&#xff08;以秒为单位的时间戳&#xff09; time_t rawtime; time(&rawtime); // 将时间戳转换为本地时间&#xff08;struct tm&#xff09; struct tm * timeinfo localtime(&…

C++实现一个简单的Qt信号槽机制

昨天写这个文章《深入探讨C的高级反射机制&#xff08;2&#xff09;&#xff1a;写个能用的反射库》的时候就在想&#xff0c;是不是也能在这套反射逻辑的基础上&#xff0c;实现一个类似Qt的信号槽机制&#xff1f; Qt信号槽机制简介 所谓的Qt的信号槽&#xff08;Signals …

React 中的服务器渲染组件

在前后分离架构以前&#xff0c;所有的 Html 业务都是后端渲染&#xff0c;返回前前端显示&#xff0c;后端渲染把前后端逻辑耦合在一起&#xff0c;增大系统的复杂度&#xff0c;不易于扩展。React 中的 Server组件&#xff0c;准确的说是服务器进行渲染&#xff0c;无论是什么…

计算机网络 —— 应用层(FTP)

计算机网络 —— 应用层&#xff08;FTP&#xff09; FTP核心特性&#xff1a;运作流程&#xff1a; FTP工作原理主动模式被动模式 我门今天来看应用层的FTP&#xff08;文件传输协议&#xff09; FTP FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#x…

Electron快速入门(三):在(二)的基础上修改了一个文件夹做了个备忘录

Lingering Memories 诗绪萦怀 修改index.html <!--index.html--> <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP --><meta http-e…

检索增强生成RAG系列1--RAG的实现

大模型出现涌现能力之后&#xff0c;针对大模型的应用也如雨后春笋般。但是&#xff0c;在大模型真正落地之前&#xff0c;其实还需要做好最后一公里&#xff0c;而这个最后一公里&#xff0c;其中不同应用有着不同的方法。其中prompt、微调和RAG都是其中方法之一。本系列就是针…

抖音外卖服务商有哪些,盘点这几家正规服务商!

当前&#xff0c;抖音外卖的关注度不断上涨&#xff0c;抖音外卖服务商也逐渐成为了众多创业者心中的理想创业赛道。在此背景下&#xff0c;抖音外卖服务商的入局途径多次引发创业者热议&#xff0c;以抖音外卖服务商有哪些公司为代表的相关话题更是长期位居创业者问题榜单的前…

解决数据丢失问题的MacOS 数据恢复方法

每个人都经历过 Mac 硬盘或 USB 驱动器、数码相机、SD/存储卡等数据丢失的情况。我们中的一些人可能认为已删除或格式化的数据将永远丢失&#xff0c;因此就此作罢。对于 macOS 用户来说&#xff0c;当文件被删除时&#xff0c;垃圾箱已被清空&#xff0c;他们可能不知道如何恢…

【最新综述】基于伪标签的半监督语义分割

Semi-Supervised Semantic Segmentation Based on Pseudo-Labels: A Survey 摘要&#xff1a; 语义分割是计算机视觉领域的一个重要而热门的研究领域&#xff0c;其重点是根据图像中像素的语义对其进行分类。然而&#xff0c;有监督的深度学习需要大量数据来训练模型&#xff…

数据恢复篇:适用于Windows 的顶级数据恢复软件

适用于Windows的免费和付费的最佳数据恢复软件 **嘿&#xff0c;我要和大家一起泄露所有的测试工具。在评论中留下您的想法和最喜欢的选择&#xff01; 适用于 Windows 的最佳数据恢复软件 1.奇客数据恢复 奇客数据恢复版是Microsoft操作系统的顶级数据恢复软件应用程序之一&a…

基于协方差信息的Massive MIMO信道估计算法性能研究

1. 引言 随着移动互联网不断发展&#xff0c;人们对通信的速率和可靠性的要求越来越高[1]。目前第四代移动通信系统已经逐渐商用&#xff0c;研究人员开始着手研究下一代移动通信系统相关技术[2][3]。在下一代移动通信系统中要求下行速率达到10Gbps&#xff0c;这就要求我们使…