在我们使用 Postman 进行测试的时候,有时候请求的很多参数都是公共的,如果每次都手动去书写很麻烦而且很容易出错,这时候 Postman 就会我们提供了变量的功能。
即,我们只需要将常用的值定义成变量,每次需要使用该值时,就直接使用该变量名即可。
在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 就会我们提供了变量的功能。