postman脚本

postman接口测试工具test中经常用到的脚本归纳

1.获取response返回内容

var rsb = responseBody; // 是字符串格式

2.设置环境变量 只能存储字符串,如果是对象的话则无法在下次运行时获取到内容,如需要存储JSON数据,可以用JSON.stringify(..)存储,再用JSON.parse(..)转化为对象使用

pm.environment.set("变量名称", 变量内容);

postman.setGlobalVariable("accessToken",temp.data.accessToken)   //全局变量

postman.setEnvironmentVariable("businessNo",temp.data.contents[0].id)    //局部变量

3.获取环境变量

var v = pm.environment.get("变量名称");

4.清除某个环境变量

pm.environment.unset("环境变量名");

5.获取全局变量和普通变量

var gb = pm.globals.get("全局变量名");

var nm = pm.variables.get("普通变量名");

6. Javascript 获取变量类型

console.log( typeof pm.enviroment );

7.动态生成变量

{{$guid}}:添加v4样式的guid。

{{$timestamp}}添加当前时间戳

{{$randomInt}}:在0到1000之间添加一个随机整数。

8.下一个调用接口,可用于指定调用某个接口(注意调用B接口后会顺序从B接口运行下去)

postman.setNextRequest(‘下一个接口名');

终止调用(没有执行到终止调用接口会一直循环下去)

postman.setNextRequest("null");

9. “期待”返回结果必须包含某一段内容

pm.expect(从response里获取的字符串).to.include("必须包含的内容");

10.返回body值必须完全等于某一段内容

pm.response.to.have.body("必须等于的内容");

11.反应时间必须少于200毫秒

pm.expect(pm.response.responseTime).to.be.below(200);

12.必须返回某一个状态 如"Created"

pm.response.to.have.status("状态名");

13.pm.expect(目标值).to.equal(“获取校验值”);    //比较相等

 

14.example using response assertions

pm.test("response should be okay to process", function () { 

    pm.response.to.not.be.error; 

    pm.response.to.have.jsonBody(""); 

    pm.response.to.not.have.jsonBody("error"); 

});

 

最后贴上我常用的通用接口判断脚本,支持判断服务器正常,接口状态码正常,正则表达式匹配,响应内容校验。

// pm.test(responseBody)
if(responseCode.code === 200){
 tests["接口请求成功:"] = responseBody.has("\"code\":\"00000000\",");
 var temp = JSON.parse(responseBody);
//  pm.test(temp.data.userinfo.token)
//  postman.setGlobalVariable("accessToken",temp.data.accessToken)
//  postman.setEnvironmentVariable("XH","112211")
     pm.test("查询校验", function () {
        var patt=/\"applicationName\":\"牌价查询\"/;
        // pm.test(patt.test(responseBody));
        pm.expect(true).to.equal(patt.test(responseBody));
    });
}else{
    tests["服务器异常"] = false
}
 

 

 

你可能感兴趣的:(接口测试)