Postman中变量的使用

转载:https://www.jellythink.com/archives/181

前言

在Postman中,我们经常会定义一些变量,比如将请求URL中的IP地址定义成一个变量,然后在请求URL中引用这个变量即可。但是你可知道,在Postman中,变量还分为好几种,每个的作用域你可知道是什么样子的呢?这篇文章就带领大家认识Postman中的变量。认识了变量后,我想你应该对Postman的使用会有一个全新的认识。

为什么使用变量?

我们自己经常写代码,那我们在代码中为什么会使用变量呢?变量允许我们在多个地方重复使用值,以便保持代码的可读性、可维护性等(Don’t Repeat Yourself)。另外,如果想改变这个值,我们只需要改变变量的值即可,其它引用该变量的地方会自动变动。

在Postman中使用变量有如下好处:

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

变量作用域

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

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

变量作用域

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

构建请求时访问变量

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

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

使用变量

 

 

快速设置环境变量

 

 

定义集合变量

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

定义集合变量

脚本中访问变量

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

    • 在脚本中定义环境或全局变量:
      要在脚本中定义变量,需要根据所需的范围使用pm.environment.set()方法或pm.globals.set()方法(但是我见到另一个实现是postman.setEnvironmentVariable("var",var_value);)。该方法需要使用变量名和变量值作为参数来设置变量。当发送请求时,脚本将被解析。集合中定义变量有点不同,下面会特殊说明。

       

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

    •  

数据变量

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

动态变量

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

 

依赖上次请求的响应结果

{"data":{"amount":2330,"callBackUrl":"http://192.168.230.4:8082/order/notify/payCallBack","cancelTime":"2016-09-29 11:59:52","createTime":"2016-09-29 11:44:52","token":"5001890406"},"status":0}

----------

var jsonData = JSON.parse(responseBody);

postman.setGlobalVariable("token", jsonData.data.token);

 

 

打印变量

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

总结

这篇文章详细的总结了Postman中的变量。内容比较多而且杂,希望大家在实践中理解这篇文章,更希望我的文章对大家有帮助。

 

posted on 2019-01-28 13:45  happy刘艺  阅读(1496)  评论(0编辑  收藏  举报

导航