设置环境变量

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

设置全局变量

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

变量引用

注:定义的变量在脚本中引用使用pm.globals.get获取,在其他地方要用双大扩号{{}} ,如:变量名为:test-global,在脚本中使用:pm.globals.get("test-global"),在请求时使用:{{test-global}};

postman.setGlobalVariable("test-global", "global环境变量值2222");
var ret = pm.globals.get("test-global");
tests[ret]= true;

获取json数据对象

var jsonData = pm.response.json();

获取json中的某个值

var value =data.key (注:value中有多组可以用data.keys[0].key1获取keys中第一组的key1的值)

查看数据的组数list长度

var num = jsonData.keys.length;

把xml的对象转化为json对象

varjsonObject=xml2Json(responseBody);

获取Header中的值

var value=postman.getResponseHeader("Content-Type");

确认Header中的是否有某字段

responseHeaders.hasOwnProperty("Content-Type")  结果:true or  false

获取响应返回值

varCode= responseCode.code


获取响应时间

var time=responseTime


判断响应数据中是否包含某个值

responseBody.has("true")

 

检查点(断言)

tests["Body matches string"]=responseBody.has("响应数据json的任意值 ");

tests["日志信息"]=true(等号后跟boolean值表示接口是否通过)

var jsonData = pm.response.json();
var num = jsonData.debug_requests.length;
var debug = new Array(num);

for(i=0;i<num;i++){
    debug[i] = jsonData.debug_requests[i];
    var url = debug[i].url;
    if(url.includes("blender")){

    tests["Body matches string1"]=url.has("/aaaa");
    tests["Body matches string2"]=url.has("bbbb&");
    break;
            }
}

 

 

返回结果的列表中字段值的校验

var jsonData = pm.response.json();
var num = jsonData.debug_requests.length;
var debug = new Array(num);

for(i=0;i<num;i++){
    debug[i] = jsonData.debug_requests[i];
    var url = debug[i].url;
    if(url.includes("目标请求")){
    pm.test("目标请求验证", function () {
            pm.expect(url).to.include("/AAAA");
            });
    pm.test("目标请求验证:bbbb", function () {
            pm.expect(url).to.include("bbbb=cccc&");
            });
            break;
            }
}

postman在Test Results中输出多个变量值

var header=postman.getResponseHeader("Content-Type");
var header2=responseHeaders.hasOwnProperty("Content-Type");

var Code= responseCode.code;
var time=responseTime;

tests[(header+"\t\t"+header2+"\t\t"+Code+"\t\t"+time)]= true;

 

 

 

在postman中“===“三个等号代表全等

 

 获取body中的值

var body = pm.request.body.raw;//取请求body值
var test1 = JSON.parse(body);//解析body
var temp = test1.id;//取body中id的值
var data = pm.request.body.urlencoded;//取x-www-form-urlencoded中的值

 

 

前置脚本(涉及MD5和SHA1)

var key = 'aaaa'
var nnn = 'test'
var timestamp = Math.round(new Date().getTime()/1000)
var str = (CryptoJS.MD5(key)+ nnn + timestamp).toString()
var secret = CryptoJS.SHA1(str).toString()
postman.setEnvironmentVariable('timestamp',timestamp)
postman.setEnvironmentVariable('secret',secret)

 

参考:https://www.bbsmax.com/A/o75N3P9PdW/

 

posted on 2022-08-26 17:32  jxba  阅读(374)  评论(0编辑  收藏  举报