【API接口工具】postman-变量定义、使用详解

变量

变量是数据的符号表示,使您无需在需要的任何地方手动输入值即可访问值。如果您在多个地方使用相同的值,这会很有用。变量通过抽象细节使您的请求更加灵活和可读。

例如,如果您在多个请求中具有相同的 URL,但该 URL 稍后可能会更改,您可以将 URL 存储在一个变量base_url中并在您的请求中使用{{base_url}}. 如果 URL 发生变化,您可以更改变量值,它将反映在您的整个集合中,无论您使用了变量名称。

同样的原则适用于您的请求中重复数据的任何部分。无论您在请求运行时引用该变量的任何位置,都将包含存储在变量中的任何值。如果基本 URL 值是https://postman-echo.com,并且被列为请求 URL 的一部分{{base_url}}/get,Postman 会将请求发送到https://postman-echo.com/get.
在这里插入图片描述
在这里插入图片描述
Postman 中的变量是键值对。每个变量名代表它的键,所以引用变量名可以访问它的值。

您可以使用变量在请求和测试之间传递数据
您可以使用环境将变量集组合在一起并与协作者共享它们,例如,如果您将一组配置详细信息用于生产服务器,另一组用于测试。

变量范围

Postman 支持不同范围的变量,允许您针对各种开发、测试和协作任务定制处理。Postman 中的作用域与您的请求运行的不同上下文相关,不同的变量作用域适用于不同的任务。
优先级由低到高:global < collection < environment < data < local

  • 全局变量 global 使您能够访问集合、请求、测试脚本和环境之间的数据。全局变量在整个工作区中都可用。由于全局变量在 Postman 中具有最广泛的可用范围,因此它们非常适合测试和原型设计。在以后的开发阶段,使用更具体的范围。
  • 集合变量 collection 在集合中的整个请求中都可用,并且独立于环境。集合变量不会根据所选环境而改变。如果您使用单一环境,例如用于身份验证或 URL 详细信息,则集合变量是合适的。
  • 环境变量 environment 使您能够将工作范围限定到不同的环境,例如本地开发与测试或生产。一次可以激活一个环境。如果你有一个单一的环境,使用集合变量会更有效,但是环境允许你指定基于角色的访问级别。
  • 数据变量 data来自外部 CSV 和 JSON 文件,用于定义在使用Newman或Collection Runner运行集合时可以使用的数据集。数据变量具有当前值,在请求或收集运行之后不会持续存在。
  • 局部变量 local是在请求脚本中访问的临时变量。局部变量值的范围仅限于单个请求或收集运行,并且在运行完成后不再可用。如果您需要一个值来覆盖所有其他变量范围但不希望该值在执行结束后持续存在,则局部变量是合适的。

如果在两个不同的作用域中声明了同名变量,则将使用存储在具有优先级作用域的变量中的值。例如,如果有一个名为 的global变量username和一个名为的local变量username,则请求运行时将使用局部值。

Postman
将变量存储为字符串。如果您存储对象或数组,请JSON.stringify()在存储之前记住它们,并JSON.parse()在检索它们时记住它们。

变量类型

除了范围之外,全局变量和环境变量也可以按类型定义。您可以为全局变量和环境变量配置的两种变量类型是:

  • default 默认类型自动分配给变量。此类型显示为纯文本,没有其他属性。
  • secret秘密类型掩盖了所有工作区成员的初始值和当前值,可用于防止无意泄露敏感数据,包括 API 秘密、密码、令牌和密钥。

对工作区(用于全局变量)或环境(用于环境变量)具有编辑器访问权限的用户可以选择将这些变量从默认类型更改为机密类型。

无论您为变量配置什么类型,Postman 都将变量作为字符串存储在其服务器上。要了解 Postman 如何保护您的数据安全

变量定义

您可以通过多种方式定义变量,具体取决于您是否需要全局环境集合范围。
您还可以在请求构建器的任何范围内定义变量:

  1. 选择您需要的数据,例如在地址、参数、标题或正文中。选择设置为变量。
    在这里插入图片描述

  2. 选择设置为新变量。
    在这里插入图片描述

  3. 输入Name,确认Value正确,然后选择范围。选择设置变量。
    在这里插入图片描述

请记住删除不再使用的变量。

定义全局变量

查看全局变量:

  1. 在边栏中选择环境
  2. 选择全局变量。

添加一个新的全局变量:

  1. 选择添加新变量,然后输入变量的名称。
  2. 为新变量选择类型。
  3. 添加一个Initial Value,如果您选择,添加一个Current Value。
  4. 选择保存以确认您的更改

要编辑现有的全局变量:

  1. 更改所需的变量值。
  2. 选择 保存以确认您的更改。
  3. 您还可以在脚本中定义全局变量

下载全局环境

要将全局变量下载为 JSON:

在边栏中选择环境。
选择全局变量。
选择导出。
选择保存文件的位置,然后选择保存

定义环境变量

添加一个新的环境变量:

  1. 选择添加新变量,然后输入变量的名称。
  2. 为新变量选择类型。
  3. 添加一个Initial Value,如果您选择,添加一个Current Value。
  4. 选择 保存以确认您的更改

定义集合变量

您可以在创建集合时或之后的任何时间添加集合变量。

要为现有集合创建或编辑变量:

在边栏中选择收藏。
选择一个集合,然后选择变量选项卡。
在这里插入图片描述

在脚本中定义变量

您可以在请求脚本中以编程方式设置变量

方法用例例子
pm.globals用于定义全局变量。pm.globals.set(“variable_key”, “variable_value”);
pm.collectionVariables用于定义集合变量。pm.collectionVariables.set(“variable_key”, “variable_value”);
pm.environment用于在当前选择的环境中定义一个环境变量。pm.environment.set(“variable_key”, “variable_value”);
pm.variables用于定义局部变量。pm.variables.set(“variable_key”, “variable_value”);
unset您可以使用unset删除变量pm.environment.unset(“variable_key”);

变量使用

您可以使用双花括号来引用整个 Postman 中的变量。例如,要在请求授权设置中引用名为“用户名”的变量,您可以使用以下语法,并在名称周围加上双花括号:

{{username}}

当您运行请求时,Postman 将解析变量并将其替换为当前值。

例如,您可以有一个引用变量的请求 URL,如下所示:

https://postman-echo.com/get?customer_id={{cust_id}}

cust_idPostman 将在请求运行时发送您当前为变量存储的任何值。如果cust_id是 current 3,请求将被发送到以下 URL,包括查询参数:

https://postman-echo.com/get?customer_id=3

如果您想从请求正文中访问变量,请将其引用括在双引号中:

{ "customer_id" : "{{cust_id}}" }

您可以在请求 URL、参数、标头、授权、正文和标头预设中使用变量。

使用动态变量

Postman 提供了可以在请求中使用的动态变量。

动态变量的示例包括:

  • {{$guid}}: v4 风格的 GUID
  • {{$timestamp}}: 当前的 Unix 时间戳,以秒为单位
  • {{$randomInt}}: 0 到 1000 之间的随机整数

在脚本中使用变量

您可以使用表示范围级别的对象和方法来检索脚本中变量的当前值.get:

//access a variable at any scope including local
pm.variables.get("variable_key");
//access a global variable
pm.globals.get("variable_key");
//access a collection variable
pm.collectionVariables.get("variable_key");
//access an environment variable
pm.environment.get("variable_key");

使用pm.variables.get()访问脚本中的变量可以让您在不影响脚本功能的情况下更改变量范围。此方法将返回当前具有最高优先级(或最窄范围)的任何变量。

要在预请求或测试脚本中使用动态变量pm.variables.replaceIn(),请使用pm.variables.replaceIn(‘{{$randomFirstName}}’).

记录变量

您可以在请求运行时将变量值记录到Postman 控制台
在脚本中使用以下语法记录变量的值:

console.log(pm.variables.get("variable_key"));

要查看结果, 请在页脚中选择控制台图标 控制台。您还可以从View menu > Show Postman Console访问控制台。

使用数据变量

Collection Runner 允许您导入 CSV 或 JSON 文件,并在请求和脚本中使用数据文件中的值。您不能在 Postman 中设置数据变量,因为它是从数据文件中提取的,但您可以在脚本中访问数据变量,例如使用pm.iterationData.get(“variable_name”).

共享和持久化数据

当您在 Postman 中编辑全局、集合和环境变量时,您将看到一个当前值,您可以选择为单个变量保留或重置。您还可以选择Persist All或Reset All将此设置应用于所有变量。这些使您能够控制本地 Postman 实例中发生的事情,而与数据如何与共享您的工作区、请求、集合和环境的任何人同步无关。

创建或编辑变量时,可以输入初始值和当前值。在 Postman 中创建新变量时,如果将当前值留空,它将自动填充初始值。如果您指定一个当前值,它将是您的实例的本地值。Persist选项允许您将当前值推送到共享数据,更新初始值以匹配当前值。
使用Persist可以使您的当前值与 Postman 的服务器同步,并反映给共享您的收藏或环境的任何人。要重置您当前的本地值以反映初始共享值,请使用Reset。

要保留单个值:

将鼠标悬停在变量的当前值上。
更多操作图标 选择值旁边的更多操作图标 。
选择坚持。
您在 Postman 中的本地会话可以使用对您来说是短暂且可见的值,但不会与您的团队同步或共享。这使您可以使用私有凭据或实验值进行开发和测试,而不会暴露这些细节或影响团队中的其他人。

例如,您的团队可能有一个共享的 API 密钥和单独的 API 密钥。您可以使用个人密钥在本地进行实验性开发工作,但使用共享密钥进行团队协作。同样,您可以有一个变量来表示您正在本地进行的探索性工作,但尚未准备好与团队共享。您可以稍后选择保留本地数据,以便团队中的其他人也可以访问它。

快速查看图标 您可以使用Postman 右上角的环境快速查看图标在线编辑当前值 。

本地和数据变量具有当前值,在请求或收集运行之后不会持续存在。

由于以下几个原因,变量可能无法解析:

  • 该变量不存在于请求的活动范围内
  • 变量已创建,但未保存更改
  • 变量所在的环境未激活
  • 变量在活动环境中被关闭

产品推荐

推荐理由

postman在国内使用已经越来越困难:
1、登录问题严重
2、Mock功能服务基本没法使用
3、版本更新功能已很匮乏
4、某些外力因素导致postman以后能否使用风险较大
出于以上考虑因此笔者自己开发了一款api调试开发工具SmartApi,满足基本日常开发调试api需求

简介

历时一年半多开发终于smartApi-v1.0.0版本在2023-09-15晚十点正式上线
smartApi是一款对标国外的postman的api调试开发工具,由于开发人力就作者一个所以人力有限,因此v1.0.0版本功能进行精简,大功能项有:

  • api参数填写
  • api请求响应数据展示
  • PDF形式的分享文档
  • Mock本地化解决方案
  • api列表数据本地化处理
  • 再加上UI方面的打磨

下面是一段smartApi使用介绍:
在这里插入图片描述

下载地址:

https://pan.baidu.com/s/1kFAGbsFIk3dDR64NwM5y2A?pwd=csdn

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lichong951

你的鼓励决定更新的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值