如何正确使用Postman变量?又该如何灵活设置变量?

本文详细介绍了如何在Postman中有效使用变量,包括为何使用、不同类型的变量(如全局、集合、环境和局部),以及它们的作用域和覆盖规则。此外,还涵盖了创建和使用变量的方法,以提高测试效率和灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

Postman变量可以帮助你快速生成测试数据、模拟不同的场景和环境。

但是,如何正确使用Postman变量?又该如何灵活设置变量?这些问题不用担心,接着往下看吧!

理解变量

为什么要使用变量?

如果在多个地方使用相同的值,使用变量后,当需要更改请求值时,只需更改变量的值,无需一个地方一个地方修改值。

例如,如果在多个请求中具有相同的 URL,但该 URL 稍后可能会更改,可以将 URL 存储在一个变量base_url中并在请求中使用{{base_url}}. 如果 URL 发生变化,可以更改变量值。

如果 base_url 值是https://postman-echo.com,并且被列为请求 URL 的一部分{{base_url}}/get,Postman 会将请求发送到https://postman-echo.com/get。

postman的变量类型

变量作用域

从变量范围最宽到最窄的顺序,是:global 全局变量、collection集合变量、environment环境变量、data数据变量和local局部变量。

  • 全局变量能够访问集合、请求、测试脚本和环境之间的数据。全局变量在整个工作区中都可用。
  • 集合变量在集合中的整个请求中都可用,并且独立于环境。集合变量不会根据所选环境而改变。
  • 环境变量限定到不同的环境,例如本地开发与测试或生产。一次可以激活一个环境。
  • 数据变量来自外部 CSV 和 JSON 文件,用于定义在使用Newman或Collection Runner运行集合时可以使用的数据集。数据变量具有当前值,在请求或收集运行之后不会持续存在。
  • 局部变量是在请求脚本中访问的临时变量。局部变量值的范围仅限于单个请求或收集运行,并且在运行完成后不再可用。如果您需要一个值来覆盖所有其他变量范围但不希望该值在执行结束后持续存在,则局部变量是合适的。
变量覆盖规则

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

创建变量

1.选择您需要的数据,例如在地址、参数、标题或正文中。选择设置为变量。


2.选择设置为新变量。

3.输入Name,确认Value正确,然后选择范围。选择设置变量。

4.最终效果如下:

创建全局变量

创建环境变量

 

创建集合变量

选择一个集合Collections,然后选择变量选项卡。

 

使用变量

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

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

当您将鼠标悬停在变量上时,Postman 会显示其当前状态的概览。当您向请求中添加变量时,Postman 会提示您当前定义的任何变量。

如果变量未解析,Postman 会以红色突出显示它。

 

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

### 创建集合变量Postman 中,集合变量是定义在特定集合(Collection)范围内的变量。这些变量仅在所属集合内的请求中可用,适用于需要隔离不同项目或模块的测试场景。可以通过以下步骤创建集合变量: 1. 在左侧的集合面板中,选择目标集合并点击右侧的 **...**(更多操作)按钮。 2. 选择 **Edit**(编辑)选项。 3. 在弹出的编辑窗口中,切换到 **Variables**(变量)选项卡。 4. 在此界面中添加变量名和初始值,并保存。 集合变量的优先级高于环境变量和全局变量,在相同变量名的情况下,会优先使用集合变量 [^3]。 ### 使用集合变量 在请求中使用集合变量的方式与使用环境变量或全局变量类似,通过双大括号 `{{variableName}}` 的方式引用。例如,定义了一个集合变量 `base_url`,其值为 `https://postman-echo.com`,可以将其用于请求 URL 中: ``` {{base_url}}/get ``` Postman 会自动替换为实际值,发送请求到 `https://postman-echo.com/get` [^5]。 ### 在脚本中操作集合变量 在 Pre-request Script 或 Tests 脚本中,可以通过 `pm.collectionVariables` 对象操作集合变量。例如,设置一个集合变量 `userId`: ```javascript pm.collectionVariables.set("userId", "12345"); ``` 读取集合变量值的方式如下: ```javascript var userId = pm.collectionVariables.get("userId"); ``` 通过脚本动态设置集合变量,可以实现更灵活的测试逻辑,例如从 API 响应中提取数据并保存供后续请求使用 [^3]。 ### 管理集合变量 为了确保集合变量的有效性,建议定期检查和更新集合变量。如果集合变量不再需要,应及时删除以避免混淆或冲突。编辑集合时,在 **Variables** 选项卡中可以添加、修改或删除变量。 集合变量适用于组织多个请求之间的共享数据,尤其适合需要隔离不同测试项目的情况。合理使用集合变量,可以提升 API 测试的效率和可维护性 [^2]。 ### 注意事项 - 集合变量仅在所属集合中生效,无法在其他集合或全局中访问。 - 集合变量优先级高于环境变量和全局变量,同名变量会覆盖低优先级的变量 [^3]。 - 避免在多个请求中重复设置相同的集合变量,以免引起冲突或不可预测的行为 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值