zoukankan      html  css  js  c++  java
  • 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中的变量。内容比较多而且杂,希望大家在实践中理解这篇文章,更希望我的文章对大家有帮助。

  • 相关阅读:
    Linux记录-shell实现脚本监控服务器及web应用
    Hadoop记录-hadoop和hbase监控有那些比较好的工具
    Hadoop记录-Ganglia监控HDFS和HBase指标说明
    Linux记录-CPU指标介绍
    Linux记录-I/O系统监控
    Linux记录-linux系统监控命令汇总
    Hadoop记录-hadoop2.x常用端口及定义方法
    Linux记录-linux系统常用监控指标
    在IIS6上部署WebService
    《软件测试自动化之道》读书笔记 之 请求-响应测试
  • 原文地址:https://www.cnblogs.com/happyliuyi/p/10329920.html
Copyright © 2011-2022 走看看