Postman中的变量指南
Postman中的变量指南
在Postman中,变量允许我们保存值并在不同API中按需使用它们。我们可以通过将它们传递到集合、环境或任何请求中来引用这些值。它基本上使我们能够更有效地使用这些变量来访问存储的值。我们还可以利用这些变量与多个团队成员协作或在Postman上设置动态工作流。
在本文中,我们将深入理解变量、它们的类型以及如何将它们嵌入到我们的API中。
什么是变量?
变量代表数据表示,让我们在需要的地方无需手动输入即可访问一个值。当我们需要在多个地方使用相同的值时,它们非常有用。一些实例包括基础URL、令牌和路径变量。此外,使用它们还使请求更加灵活,因为更改变量将自动在所有使用这些变量的地方进行更改。
我们可以在Postman中将变量定义为键值对。键定义了变量名称,允许我们直接使用此键访问它的值。
此外,我们还可以使用环境来设置一组变量。这些变量将根据环境的不同而具有不同的值。
让我们深入了解变量并理解不同的变量作用域。
2.1 变量作用域
有多个作用域让我们能够在不同的环境中处理API的开发和测试,具有不同的值。以下是从最广泛到最狭窄覆盖区域定义的变量作用域:
- 全局变量:**这些在整个工作区中都是可访问的,在Postman中具有最广泛的作用域。**它们可以在工作区中的多个请求和集合中使用。
- 集合变量:**这些变量只在某个集合内部可访问。**它们在集合内的所有请求中都是可用的。此外,它们不会根据所选环境而改变。
- 环境变量:**这些变量让我们根据不同的环境来限定工作范围。**它们会随着我们正在工作的本地环境、暂存环境或生产环境的变化而变化。
- 数据变量:这些类型的变量是外部的,在运行集合时定义数据集的Collection Runner。我们可以从CSV或JSON文件中提取这些变量。它们具有当前值,在请求或集合执行后不会持久保存。
- 本地变量:这些变量也称为**临时变量,仅在请求脚本中可访问。**它们的作用域仅到当前请求或集合。一旦执行完成,它们就不再可用。
2.2 变量类型
全局和环境变量可以根据它们的类型进一步分类。以下是我们如何配置它们的方法:
- 默认类型:默认情况下,变量是这些类型的。这些显示为纯文本,没有其他属性。
- 密文类型:这些变量隐藏了所有工作区的初始和当前值,类似于密码。它们让我们防止敏感数据的意外泄露。
定义具有作用域的变量
正如我们上面讨论的,我们可以在多种类型和作用域中定义变量。我们可以在请求构建器中的任何作用域定义变量。
首先,选择文本并点击_Set as a variable_。一旦完成,我们必须将其存储为一个新变量。然后,我们输入一个键值,并从Postman中可用的不同作用域中选择:
3.1 将响应体设置为变量
请求的响应体中的值也可以设置为变量,并在集合中进一步使用。这有助于按顺序运行多个请求并创建特定流程。
首先,让我们选择我们想要保存的文本,然后按右键或Control-click按钮将其存储为变量。
一旦完成,我们必须从可能的选项中选择相关的作用域,即环境、本地或全局,并命名变量以保存它:
3.2 定义全局变量
让我们看看在Postman中设置全局变量的步骤:
- 我们首先点击全局变量部分的_Add a new variable_,然后输入变量名称以直接将其存储为全局变量。
- 另一个选项是选择值并选择Global选项作为Type来存储变量。
- 一旦完成,我们不应该忘记标记
Save并确认更改。
我们还可以通过以下步骤下载全局变量并与他人共享:
- 首先,让我们进入Postman并选择sidebar中的Global环境类型。
- 然后,我们可以点击**_Export_按钮,这将把变量导出到一个文件。**
- 一旦文件准备好,我们可以通过点击系统的_Save_来存储文件,并按需共享。
3.3 定义环境变量
我们可以按照以下步骤在Postman中保存环境变量:
- 首先,我们点击_Add a new variable_,并输入变量名称。
- 在保存变量之前,我们可以选择环境作为变量类型。
- 变量将需要指定初始值和当前值。
- 一旦完成,我们必须点击Save以确认更改。
3.4 定义集合变量
Postman还提供了添加集合变量并按需使用它们的机会。
我们必须点击sidebar中的_Collections_。一旦完成,让我们选择_Variables_标签来存储集合变量:
3.5 在脚本中定义变量
与在集合、环境或全局中定义变量类似,我们也可以在我们的请求脚本中以编程方式设置变量。
所有这些方法都接受(variable_key, variable_value)作为输入:
- pm.globals:这个方法用于在请求脚本中定义全局变量,例如,pm.globals.set("variable_key", "variable_value");
- pm.collectionVariables:我们可以使用这种方法定义作用域为‘collection’的变量,例如,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", "variable_value");
3.6 在脚本中使用变量
我们已经使用上述方法在脚本中存储了变量。因此,我们可以使用这些方法检索它们的当前值:
- pm.variables.get("variable_key"):这将在任何作用域中访问变量,包括本地。
- pm.globals.get("variable_key"):这可以访问全局变量
- pm.collectionVariables.get("variable_key"):这可以访问集合变量。
- pm.environment.get("variable_key"):这可以访问环境变量。
在这里,我们可以使用_variable_key_检索值。对象表示作用域级别,而_get()_方法检索值。
_pm.variables.get()_方法还提供了更改变量作用域的选项,而不影响脚本的功能。它返回当前具有最高优先级的变量。
使用变量
现在,我们已经定义了不同的变量作用域,并学习了如何在Postman中存储它们。让我们看看如何在请求路径和正文中使用这些变量。
**要在Postman中引用变量,我们应该在变量名称周围使用双花括号。**它会自动从定义的不同变量中获取值。这是Postman中的标准,不依赖于变量类型和作用域:
{{studentName}}
此外,运行CURL或点击请求解析变量,并使用当前值更新变量。以下请求URL引用了变量:
http://localhost:8080/get?student_name={{studentName}}
假设_studentName_是“John”。Postman从其变量中检索值,并发送当前存储的任何值。因此,在Postman上点击上述请求时,它自动转换为请求:
http://localhost:8080/get?student_name=John
结论
在本教程中,我们使用Postman变量进行了基本初始化,使用了GUI模式。
此外,我们了解了它们的类型和作用域。我们还查看了它们可以在不同地方初始化,例如URI、请求正文和标题。显然,这让我们通过不必多次初始化相同的值来节省时间和空间。