Postman常用断言

@[TOC]Postman使用心得一----常用断言
最近在使用Postman做接口自动化需求,学到一些东西,借这个平台分享下
首先介绍下最常用的断言:
1.判断响应体中包含200 接验证接口的返回状态

pm.test("Status code is 200", function () {
     
    pm.response.to.have.status(200);
})

2.验证列表是不是为空,我采用的方式是判断list的长度是不是大于1

 pm.test("列表数据不为空"+jsonData.data.data.length,function(){
     
   pm.expect(jsonData.data.data.length).to.above(0);
})

3.算是比较常用的,遍历获取到的值,然后和环境变量中的做对比,看是否相等

for(var i=0;i<errorList.length;i++){
     
    pm.test("第"+i+"个id正确"+errorList[i].cid, function () {
     
        pm.expect(errorList[i].cid).to.eql(pm.environment.get("cid"));
    })
}

4.验证返回的json体中是否包含XX内容

pm.test("验证描述内容是否为输入的内容",function(){
     
  pm.expect(data[0].operationRecord.problemRemarks).to.include("验证描述")
})

5.这个稍微复杂一点,获取数组中的数组的某个值,再把值存到数组中在赋值给环境变量

for (var i=0 ;i<data.length;i++){
     
  for(var j=0;j<data[i].shownOperationRecords.length;j++){
     
 if(data[i].shownOperationRecords[j].cid==pm.environment.get("cid")&&data[i].shownOperationRecords[j].readStatus==0){
     
    arr.push(data[i].shownOperationRecords[j].id)
    pm.environment.set("recordid",arr)
  }
}
}

6.检查返回的数组中是否有重复字段

var jsonData = pm.response.json();
var data=jsonData.data
//取出接口返回的数据,存到数组中
var arr=[]
for(var i=0;i<data.length;i++){
     
    arr.push(data[i].cw_ms)
}
//把数组中的数据进行排序,两两进行对比
var nary=arr.sort();
for(var i=0;i<arr.length;i++){
     
    if(arr[i]==arr[i + 1]){
     
       pm.test("重复数据"+arr[i], function(){
       
          pm.expect(1).to.not.eql(2)
      })
    }
}

7.检查返回的json中是否有某个属性,这个属性怎么说呢,直说属性大家可能理解不了,举个例子吧,比如json格式如下:
{
“id”: [
“0001”
],
“name”: [
“小明”
]
}
然后我们获取一下他的属性name

var jsonData = pm.response.json();
console.log(Object.getOwnPropertyNames(jsonData))

输出的结果插入图片描述
通过打印的结果我们可以知道这个属性是个什么东西了,然后我们就是去获取这个属性,看看他是否存在,hasOwnProperty返回的是布尔值

pm.test("检查json中是否包含name", function () {
     
    pm.expect(jsonData.hasOwnProperty("id")).to.equal(true);
});

你可能感兴趣的:(Postman,软件测试)