变量允许我们在请求和脚本中存储和重用值。通过将值存储在变量中,我们可以在整个集合、环境和请求中引用它——如果您需要更新该值,您只需在一个地方更改它。使用变量可以提高工作效率,并最大限度地减少出错的可能性。
Postman(4)—变量
了解变量
变量是数据的符号表示,允许您访问一个值,而无需在任何需要的地方手动输入它。这在您在多个地方使用相同的值时尤其有用。通过抽象掉一些细节,变量使您的请求更加灵活和可读。
例如,如果您在多个请求中有相同的 URL——但 URL 可能会改变——您可以将它存储在一个变量中。如果 URL 发生变化,您只需要更改变量值,它就会反映在您的整个集合中,无论您在何处使用该变量名称。同样的原则适用于您请求中重复数据的任何部分。
Postman 中的变量是键值对。每个变量名代表它的键,因此引用变量名可以让你访问它的值。
例如,将请求的基本 URL 存储在名为 的变量中
base_url
,则可以在请求中使用{{base_url}}
来引用它。如果基本 URL 值为https://httpbin.org
,则对于{{base_url}}/get?customers=new
,Postman 会将请求发送到https://httpbin.org/get?customers=new
。
变量范围
Postman 支持以下变量范围:
全局(Global)
全局变量允许您访问集合、请求、测试脚本和环境之间的数据。全局变量在整个工作区都可用。
集合(Collection)
集合变量在集合中的整个请求中都可用,并且与环境无关,因此不要根据所选环境进行更改。
环境(Environment)
环境变量允许您针对不同环境定制处理,例如本地开发与测试或生产。一次只能激活一个环境。
如果您只有一个环境,使用集合变量会更有效率,但是环境允许您指定基于角色的访问级别。
数据(Data)
数据变量来自外部 CSV 和 JSON 文件,用于定义在通过 Newman 或 Collection Runner 运行集合时可以使用的数据集。
本地(Local)
本地变量是临时的,只能在您的请求脚本中访问。本地变量值仅限于单个请求或集合运行,并且在运行完成后不再可用。
如果您需要一个值来覆盖所有其他变量范围,但不希望该值在执行结束后持续存在,则本地变量是合适的。
如果在两个不同的作用域中声明了同名变量,则将使用作用域最小的变量中存储的值——例如,如果有一个全局变量和一个本地变量都命名为
username
,则在请求时将使用本地值运行。
要尝试变量,请使用以下步骤:
- 单击Postman右上角的Environment 快速查看(眼睛按钮),然后单击Globals旁边的add/Edit。
- 添加一个名为的变量
my_variable
并为其赋予初始值 —Hello
单击保存并关闭环境模式。 - 打开一个新的请求选项卡并输入
https://postman-echo.com/get?var={{my_variable}}
URL。将鼠标悬停在变量名称上,您将看到该值。 - 发送请求。在响应中,您将看到 Postman 将变量值发送到 API。尝试更改环境快速查看中的值并再次发送请求。
定义变量
请求构造器中定义变量
在请求构建器的任何范围内创建变量,请选择您需要的数据,例如在地址、参数、标头或正文中。
选择设为变量**>**设为新变量。
输入Name,验证Value并从下拉列表中选择一个范围。单击设置变量。
定义全局和环境变量
可以通过Postman左侧选择创建和编辑环境变量,或使用Postman右上角的环境快速浏览进行编辑。
如果您对整个环境具有编辑权限,则可以在环境中添加和编辑变量。如果您只有查看权限,则只能更新现有变量的当前值。您编辑的任何变量都只能由您访问,而您在工作区中协作者无法使用。
定义集合变量
您可以在创建集合时或之后的任何时间添加集合变量。要为现有集合创建或编辑变量,请在Postman 左侧的集合侧栏中选择该集合,然后选择Variables。
指定变量细节
您可以随时添加和编辑变量。您需要为新变量包含的只是一个名称——您可以选择提供一个初始值,但也可以稍后设置它,包括从脚本中设置。使用复选框启用或禁用变量。
当您共享集合或环境时,将共享初始值。当前值是本地的,不同步或共享。
访问变量
可以使用双花括号在整个 Postman 用户界面中引用变量。例如,要在请求身份验证设置中引用名为“username”的变量,您可以使用以下语法并在名称周围加上双花括号:
{{username}}
或者,您可以有一个请求正文,通过将其引用括在双引号中来访问变量:
{ "customer_id" : "{{cust_id}}" }
当您将鼠标悬停在变量上时,您可以看到其当前状态的概览。当您在请求中键入变量时,Postman 会提示您输入当前定义的任何变量。
如果变量未解析,Postman 会将其突出显示为红色。
记录变量
您可以在请求运行时将变量值记录到Postman Console。从 Postman 左下角的按钮或从“查看”菜单打开控制台。要记录变量的值,请在脚本中使用以下语法:
console.log(pm.variables.get("variable_key"));
[