美文网首页
接口测试教程 - PostMan(十一)变量使用

接口测试教程 - PostMan(十一)变量使用

作者: 猫与测试 | 来源:发表于2019-09-28 21:32 被阅读0次

    前面讲了如何定义变量以及讲解了 Postman 中内置的随机变量。

    那么如何使用这些变量呢?

    首先变量要遵循我们前面提到的优先级:

    局部变量 local > data 文件中的变量 data > 环境变量 environment > Collection 中的变量 collection > 全局变量 global

    内置变量 dynamic 是全局变量,但是你只要不是非要把变量名设置成和内置变量一样,那么就不用关注它。

    优先级是针对不同级别的变量中都设置了相同的变量名的情况,在使用时才会有优先级之分,如果每个环境的变量名不同,那么也不会互相影响。

    只是说在遇到变量时,找变量的过程是从局部到全局的顺序,在某一级找到对应的变量名,就会使用哪一级的变量。

    使用变量有两种方式,一种是在请求中使用,另一种是在代码(Pre-request Script 和 Tests)中使用。

    在请求中使用

    在请求中使用变量 variable,使用两对大括号标识{{变量名}}

    比如有一个变量值为name=nemo(参考各种变量的设置方法),在某请求的 url 中使用这个变量http://{{name}}.test,那么当发送请求的时候,Postman 就会获取对应的变量值,替换该 url 为 http://nemo.test

    变量可以在请求的任意位置使用,比如 url,params,headers,body,authorization 中使用,如下图中红框标注,使用方式均为{{变量名}}的形式。

    下面是一个实际使用的例子:

    以下是变量设置、变量使用及实际运行时的变量取值的综合图:

    图片说明:

    1. 上图中设置了一个名为 test 的环境,其中有三个变量,分别是hostpathvalue
    2. 新建了一个请求,名为POST Form Data的请求,其中 URL 使用了hostpath两个变量,body 中使用了value变量;
    3. 最后运行请求后,三个变量都由环境中设置的值替换。

    除了局部变量外,其他变量都可以通过这种方式使用。

    在代码(Pre-request Script 和 Tests)中使用变量

    在代码中调用变量,需要使用 Postman 预设的代码pm.environment.get("变量名"),以上面的请求和变量为例:

    var v = pm.environment.get("value"); // 获取环境变量 value 的值并存在局部变量 v 中
    
    console.log('value变量的值为:', value)  // 打印变量值
    

    环境变量和全局变量必须使用预设的代码获取:

    • 环境变量:pm.environment.get("变量名")
    • 全局变量:pm.globals.get("变量名")
      上述代码都可以从 Tests 右侧的预设代码中获取:

    还有一种变量在 Tests 中使用也需要通过代码获取,那就是通过数据文件传递的 Data 变量,其使用的预设代码为:

    pm.iterationData.get("变量名")
    

    内置变量使用

    前面我们讲到 Postman 中有很多内置变量,用来生成随机数据。这些内置变量只能用于请求中的 URL / headers / body 中使用,不能在代码中使用。

    在请求中使用:


    相关文章

      网友评论

          本文标题:接口测试教程 - PostMan(十一)变量使用

          本文链接:https://www.haomeiwen.com/subject/getiuctx.html