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

2024-06-23 22:36
文章标签 使用 变量 起来 postman

本文主要是介绍活用变量,让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。
在这里插入图片描述



这篇关于活用变量,让Postman的使用飞起来的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088470

相关文章

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

SpringBoot整合AOP及使用案例实战

《SpringBoot整合AOP及使用案例实战》本文详细介绍了SpringAOP中的切入点表达式,重点讲解了execution表达式的语法和用法,通过案例实战,展示了AOP的基本使用、结合自定义注解以... 目录一、 引入依赖二、切入点表达式详解三、案例实战1. AOP基本使用2. AOP结合自定义注解3.

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度