美文网首页软件测试学习之路
Postman四种变量类型的配置

Postman四种变量类型的配置

作者: 乘风破浪的姐姐 | 来源:发表于2019-03-28 15:22 被阅读0次

    Postman 提供了四种类型的变量
    环境变量(Environment Variable)
    不同的环境,使用不同的环境变量,例如:测试过程中经常会用到 测试环境,外网环境等
    全局变量(Global Variable)
    所有的接口运环境中变量值都保持一致
    本地变量(Local Variable)
    针对接口的个性化设置,如url,用户等,作用域只限于当前接口范围内
    文件变量(Data Variable)
    通过在外部文件中批量设置参数,例如 json,csv等文件

    以下分别对这四种变量的设置详细介绍。

    一、Environment Variable

    1、手工创建环境变量
    点击Postman界面右上角的"齿轮"设置图标,点击“Manage Environments” 即可开始设置环境变量和全局变量。


    image.png

    点击右下方的 Add按钮,进入环境变量添加页面,录入环境变量名称,变量的key,value,点击Add即可成功添加


    image.png
    接口要使用不同环境时,可以再次点击"眼睛"图标前的下拉框选择需要的环境变量
    image.png

    2、代码创建环境变量
    1)在请求发起前创建
    在Pre-request Script区域添加代码:

    postman.setEnvironmentVariable("key", "value");
    pm.environment.set("key", value);
    

    2) 在请求发起后创建
    在Tests区域添加代码:

    postman.setEnvironmentVariable("key", "value");
    

    3、引用环境变量的格式为:{{变量名}}

    二、Global Variable

    1、手工创建环境变量
    点击环境变量界面下方的 "Globals"按钮,添加全局变量


    image.png

    录入环境变量名称,变量的key,value,点击Save即可成功添加


    image.png

    2、代码创建环境变量
    1)在请求发起前创建
    在Pre-request Script区域添加代码:

    postman.setGlobalVariable("key", "value");
    

    2) 在请求发起后创建
    在Tests区域添加代码:

    postman.setGlobalVariable("key", "value");
    

    Tests区域是专门对返回响应数据进行处理,例如,将接口返回的结果中的某数据设置为全局变量

    //获取返回的响应值,并转化为json格式,赋给变量jsonData
    var jsonData = pm.response.json();
    
    //获取返回的uid值,赋给变量global_id存储
    var claimId= jsonData.json['claimId'];
    
    //在Postman控制台日志输出claimId的值
    console.log(claimId);
    
    //将claimId值设置为全局变量
    pm.globals.set("claimId",claimId);
    

    3、引用全局变量的格式为:{{变量名}}
    4、Postman 提供了三种随机数,供变量引用时直接引用
    {{guid}}:添加一个V4风格GUID {{timestamp}}:将当前的时间戳,精确到秒
    {{$randomInt}}:添加0和1000之间的随机整数

    三、Local Variable

    1、手工创建本地变量
    发送post请求时,请求Body下选择 x-www-form-urlencoded,录入 key,value即可


    image.png

    2、代码创建本地变量
    在Pre-request Script区域添加代码:

    pm.variables.set("account","abc");
    pm.variables.set("passwd","123456");
    

    3、引用本地变量的格式为:{{变量名}}

    四、Data Variable

    请参考文章Postman使用CSV或Json文件批量接口测试

    内置脚本说明:

    1. 清除一个全局变量
         Clear a global variable
        对应脚本:
        postman.clearGlobalVariable("variable_key");
        参数:需要清除的变量的key
    
    2.清除一个环境变量
        Clear an environment variable
        对应脚本:
        postman.clearEnvironmentVariable("variable_key");
        参数:需要清除的环境变量的key
    
    3.response包含内容
        Response body:Contains string
        对应脚本:
        tests["Body matches string"] =responseBody.has("string_you_want_to_search");
        参数:预期内容
    
    4.将xml格式的response转换成son格式
        Response body:Convert XML body to a JSON Object
        对应脚本:
        var jsonObject = xml2Json(responseBody);
        参数:(默认不需要设置参数,为接口的response)需要转换的xml
    
    5.response等于预期内容
        Response body:Is equal to a string
        对应脚本:
        tests["Body is correct"] = responseBody === "response_body_string";
        参数:预期response
    
    6.json解析key的值进行校验
        Response body:JSON value check
        对应脚本:
        tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args
        参数:test替换被测的值,args替换被测的key
    
    7.检查response的header信息是否有被测字段
        Response headers:Content-Type header check
        对应脚本:
        tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
        参数:预期header
    
    8.响应时间判断
        Response time is less than 200ms
        对应脚本:
        tests["Response time is less than 200ms"] = responseTime < 200;
        参数:响应时间
    
    9.设置全局变量
          Set an global variable
          对应脚本:
          postman.setGlobalVariable("variable_key", "variable_value");
          参数:全局变量的键值
    
    10.设置环境变量
          Set an environment variable
          对应脚本:
          postman.setEnvironmentVariable("variable_key", "variable_value");
          参数:环境变量的键值
    
    11.判断状态码
          Status code:Code is 200
          对应脚本:
          tests["Status code is 200"] = responseCode.code != 400;
          参数:状态码
    
    12.检查code name 是否包含内容
          Status code:Code name has string
          对应脚本:
          tests["Status code name has string"] = responseCode.name.has("Created");
          参数:预期code name包含字符串
    
    13.成功的post请求
          Status code:Successful POST request
          对应脚本:
          tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
    

    该段落引自文章:Postman+Newman 简介和简单使用

    END


    如果你喜欢我的分享,那就在右下角点个喜欢吧
    你的鼓励是我最大的动力来源,在此深表感恩
    软件测试的路上,我们可以互相关注,相互学习,共同进步,微信ID:929194573


    相关文章

      网友评论

        本文标题:Postman四种变量类型的配置

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