postman 断言



/* 设置全局变量 */
var jsonData =JSON.parse(responseBody); pm.globals.set("ruleCode", JsonData.data.ruleCode);

  /* 断言使用全局变量 */

  role_code = pm.globals.get("ruleCode")
  tests["role code right "] = jsonData.data.ruleCode === role_code;

 
/* 第一种写法:*/
//
断言 pm.test("message等于'操作成功'", function () { var jsonData = pm.response.json(); console.log(jsonData.status); pm.expect(jsonData.message).to.eql("操作成功"); }); pm.test("status等于'SUCCESS'", function () { var jsonData = pm.response.json(); console.log(jsonData.status); pm.expect(jsonData.status).to.eql("SUCCESS"); }); pm.test("response is ok", function () { var jsonData = pm.response.json(); pm.expect(jsonData.code).to.eql("OK"); });

  pm.test("检查Response Body 是否包含'doctor'字符串", function () {
      pm.expect(jsonData.responseBody[0].employJobTitle).to.eql("doctor");
  });

pm.test("检查Response Body 是否包含'销售'字符串", function () {
    pm.expect(pm.response.text()).to.include("销售");
});
pm.test("检查Response Body是否等于字符串...", function () {  pm.response.to.have.body('{"status":"SUCCESS","code":"200","message":"查询成功","detailMessages":[],"responseBody":[{"userId":4,"ename":"张三","staname":"销售"}]}');
});

/*响应头是否存在Content-Type参数*/
pm.test("响应头存在Content-Type参数", function () {
pm.response.to.have.header("Content-Type");
});

/*返回时间少于200ms*/
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});

/*状态码是200*/
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});

/*成功的POST请求状态码*/
pm.test("Successful POST request", function () {
pm.expect(pm.response.code).to.be.oneOf([200,201]);
}); //[200,201]闭区间

/*if判断*/
var data = JSON.parse(responseBody);
if(data.status==="SUCCESS"){
if(data.responseBody === null){
// tests["responseBody is null"+"返回值:"+JSON.stringify(data)] = false;
tests["返回值错误"] = false
}
else{
tests["OK"] = true;
}
}
else {
tests["status not SUCCESS"+"返回值:"+JSON.stringify(data)] = false;
}

 /* for循环 */
   // 获取actions的长度

var jsonData =JSON.parse(responseBody);
var num = jsonData.data.actions.length;
//通过for循环获取每个actions内每个id的值
for(var i=0;i<num;i++){
    var aid = jsonData.data.actions[i].id
    // 当aid为1时,断言actions内容是否正确
    if(aid = 1){
        tests["actions right "] = jsonData.data.actions[i].actions===actions;
}
}

/*第二种写法:*/

  1.检查response的body中是否包含字符串:
    tests["body是否含name"] = responseBody.has("name");
    var jsonData = JSON.parse(responseBody);
    tests["body是否含name"] = jsonData.data.include("name");

  2.检查JSON的值:
    var jsonData = JSON.parse(responseBody);
    tests["Your test name"] = jsonData.value === 100;
    var jsonDdata = JSON.parse(responseBody);
    tests["字段返回是否hello"] = jsonData.字段 === "hello";
  3.response的响应时间小于200ms:
    tests["Response time is less than 200ms"] = responseTime < 200;
  4.状态码为200:
    tests["Status code is 200"] = responseCode.code === 200;

// 获取n天后的日期
function GetDateStr(n) { 
  var dd = new Date(); 
  dd.setDate(dd.getDate()+n);//获取n天后的日期 
  var y = dd.getFullYear(); 
  var m = dd.getMonth()+1;//获取当前月份的日期 
  var d = dd.getDate(); 
  return y+"-"+m+"-"+d+'T00:00:00+0800'; 
} 
pm.globals.set("startDate_reg",GetDateStr(1) );

var myDate = new Date();//获取系统当前时间
 1 myDate.getYear(); //获取当前年份(2位)
 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????)
 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月)
 4 myDate.getDate(); //获取当前日(1-31)
 5 myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
 6 myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
 7 myDate.getHours(); //获取当前小时数(0-23)
 8 myDate.getMinutes(); //获取当前分钟数(0-59)
 9 myDate.getSeconds(); //获取当前秒数(0-59)
10 myDate.getMilliseconds(); //获取当前毫秒数(0-999)
11 myDate.toLocaleDateString(); //获取当前日期
12 var mytime=myDate.toLocaleTimeString(); //获取当前时间
13 myDate.toLocaleString( ); //获取日期与时间
原文地址:https://www.cnblogs.com/snailgirl/p/9431505.html