Postman高级功能教程

作者: 西维说 | 来源:发表于2019-06-11 11:37 被阅读65次

    postman有以下几个高级功能,不是很常用,但是很实用

    1.环境变量管理,用于切换开发环境、测试环境、生产环境

    2.Pre-request Script 请求前脚本

    3.Tests 请求后断言

    1.环境变量管理

    在postman的右上角,可以下拉选择环境变量集

    在右边的设置按钮,可以对环境变量进行管理

    环境变量入口 环境变量管理 环境变量编辑

    接着,就可以在请求中使用这些环境变量了,使用双括号 {{}} 引用环境变量,即可以在url中使用,也可以在参数中使用

    在url中使用环境变量 在参数中使用环境变量

    2.Pre-request Script

    Pre-request Script 和Tests类似,只不过前者是在请求前执行,后者是在请求后执行

    pre-request script & test script

    我们可以利用Pre-request Script生成时间戳参数或者验签参数

    2.1 生成时间戳

    生成时间戳,并保存到全局变量中

    生成时间戳参数

    在请求参数或Header里引用该变量

    参数中引用变量 实际请求的参数值

    2.2 根据请求参数生成验签参数

    script如下:

    var skey=pm.globals.get("security_key"); //拼接请求参数

    var str="bizContent="+request.data.bizContent+"&timestamp="+request.data.timestamp+"&securityKey="+skey;

    console.log("str:"+str); //加密请求参数

    var strmd5 = CryptoJS.MD5(str).toString(); console.log(strmd5); //将加密结果保存到变量中

    pm.variables.set("sign",strmd5);

    其中,security_key是中Tests Script中从登录接口返回的response中获取的,下文会写到

    然后在请求参数中再引用 sign变量

    3. Tests Script

    Tests Script 可以做一些请求完成后的动作,也可以做断言

    pm.test("check result code",function(){

        var jsonData = pm.response.json();

        pm.expect(jsonData.code).to.equal("0");//断言

    })

    pm.test("check securityKey", function () {

        var jsonData = pm.response.json();

        var skey=jsonData.data.securityKey;

        var val=skey && skey.length>0;

        pm.expect(val).to.be.true;//断言

        if(val){

            pm.globals.set("security_key", skey);

            var token=jsonData.data.token;

            pm.globals.set("token", token);

        }

    });

    这里是有两个测试用例,

    第一个是检查code是否等于0

    第二个检查securityKey是否正常,正常的话,并将它保存到全局变量中

    相关文章

      网友评论

        本文标题:Postman高级功能教程

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