postman参数传递

作者: 小鱿鱼Gun神 | 来源:发表于2019-06-11 17:36 被阅读1次

    postman的数据包括全局变量,环境变量,外部文件和局部变量

    • 全局变量:作用域是全局,比如我们要设置的token
    • 环境变量:配置之后,让测试用例既能够在测试环境中执行,也能在正式环境中执行
    • 局部变量:比如tests中定义的变量,作用域只能在这个tests中
    • 外部文件变量:在run collections的时候可以设置循环次数,指定外部数据文件。外部文件可以是csv格式的,也可以是json格式的。

    变量优先级:外部文件变量> 环境变量> 全局变量>数据变量,也就是说,在变量名相同的情况下,外部文件的变量优先级最高,全局变量被环境变量所覆盖,环境变量被数据变量覆盖。

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

    变量设置.png

    方法二:使用脚本定义
    例如:上个接口出参数作为下个接口入参,在Tests录入测试脚本,将登录返回的token设置为全局变量供其它接口调用。

    //获取body中返回的所有参数
    var JsonData =JSON.parse(responseBody);
    
    //获取返回的auth_token值
    var auth_token = JsonData.data.auth_token;
    
    //将Bearer+“空格”拼接在auth_token上
    var global_token="Bearer"+" " +auth_token;
    
    //将authorization的值设置为全局变量
    pm.globals.set("global_token", global_token);
    

    在脚本中定义环境或全局变量,需要根据所需的范围使用pm.environment.set()方法或pm.globals.set()方法,该方法需要使用变量名和变量值作为参数来设置变量。当发送请求时,脚本将被解析。

    查看Postman界面Global变量区域:

    设置全局变量.png
    引用全局变量:
    引用全局变量.png
    方法三:本地变量(Local Variable)
    本地变量:主要是针对单个URL请求设置的变量,作用域只是局限在请求范围内
    例如:
    请求URL:https:{{url}}/***/v1/mgr/login
    请求方式:post
    设置两个本地变量(mobile、pwd)作为参数
    变量引用的格式为:{{variable}}
    postman请求方式
    请求方式.png
    变量设置好之后,需要对变量赋值,在【Pre-request Script】里面编写代码:
    脚本.png

    方法四:数据变量(Data Variable)
    通过导入外部数据文件(json/csv文件),来获取变量的数据
    json Data 文件格式:

    [{ 
     "moblie":"159****5",
     "pwd":"******"
    },
    {
      "moblie":"186****4",
      "pwd":"****"
    }]
    
    

    csv Data文件格式:

    moblie,pwd
    15******5,*******
    186*****4,*******
    

    进行 collections runner 设置


    运行collections.png 配置运行参数.png

    运行结果类似如下,可以很方便地看到测试通过情况


    运行结果.png

    psotman应用说明:
    https://www.jellythink.com/archives/category/tool-tutorials/postman

    相关文章

      网友评论

        本文标题:postman参数传递

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