Postman变量

Postman变量教程

在我们使用 Postman 进行测试的时候,有时候请求的很多参数都是公共的,如果每次都手动去书写很麻烦而且很容易出错,这时候 Postman 就会我们提供了变量的功能。

即,我们只需要将常用的值定义成变量,每次需要使用该值时,就直接使用该变量名即可。

Postman变量好处

  • 重复使用变量定义的值,以便保持代码的可读性、可维护性等;
  • 灵活的配置我们的设置以适应不同的用户或环境;
  • 从响应中提取数据并向集合中的其它请求发起请求。

Postman变量作用域

在Postman中,变量有以下作用域:

  • 全局作用域;
  • 集合作用域;
  • 环境作用域;
  • 局部作用域;
  • 数据作用域。

如下图所示:

61_postman变量作用域.png

如果当前活动环境中的变量与全局变量同名,则环境变量将优先。换句话说,全局变量被环境变量所覆盖,环境变量被数据变量覆盖(仅在集合运行器中可用)。

Postman访问变量

在 Postman 界面上,我们可以用 {{variableName}} 这样的形式访问变量。当 Postman 解析变量时,字符串{{variableName}} 将被替换为相应的值。例如,对于值为 www.haicoder.net 的环境变量url,我们必须在请求URL字段中使用 {{url}}。发送请求时,{{url}} 将被 www.haicoder.net 替换。

由于请求构建器中的变量是使用字符串替换来访问的,因此它们可以在请求构建器中的任何位置使用。我们可以再请求 URL,请求参数,授权和请求正文中使用变量。Postman 根据变量范围部分中讨论的范围规则解析变量,并将它们发送到服务器。

脚本中访问变量

变量也可以在前置请求和测试脚本中使用。由于脚本是用 JavaScript 编写的,因此我们将以不同的方式初始化和使用这些变量。我们可以在脚本中初始化变量并将其放入特定作用域范围。

在脚本中定义环境或全局变量

要在脚本中定义变量,需要根据所需的范围使用

pm.environment.set()

方法或

pm.globals.set()

方法。该方法需要使用变量名和变量值作为参数来设置变量。当发送请求时,脚本将被解析。集合中定义变量有点不同,下面会特殊说明。

获取预定义的变量
一旦设置了一个变量,就可以使用 pm.variables.get() 方法,或者根据合适的范围使用pm.environment.get() pm.globals.get() 方法来获取变量值。该方法需要将变量名称作为参数来检索脚本中存储的值。

定义集合变量

集合变量可以通过编辑集合来定义。单击集合名称旁边的省略号(…),然后选择 “编辑” 以打开编辑集合模式。选择 “Variables” 选项卡以添加和编辑集合变量。我们也可以在创建集合时定义集合变量。

打印变量

我们可以通过 console.log(变量名称); 的形式打印变量值。在 Postman 控制台中可以查看到输出的变量值信息。

数据变量

Collection Runner 允许我们导入 CSV 或 JSON 文件,然后请求和脚本可以使用导入的数据文件中的值,我们称这些为数据变量。要在Postman中使用它们,同样需要遵循与环境或全局变量相同的语法。

动态变量

Postman 有几个动态变量,我们可以在请求中使用它们。动态变量不能在沙盒中使用。只能在请求 URL、请求头或者请求体中以 {{…}} 格式使用它们。

Postman变量总结

在我们使用 Postman 进行测试的时候,有时候请求的很多参数都是公共的,如果每次都手动去书写很麻烦而且很容易出错,这时候 Postman 就会我们提供了变量的功能。