工具使用互联网科技抓包fidder

Postman高级功能教程

2019-06-11  本文已影响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是否正常,正常的话,并将它保存到全局变量中

上一篇下一篇

猜你喜欢

热点阅读