postman断言测试脚本二 (对数据格式和内容匹配测试)

1.如何判断接口响应体的数据格式是否和预期一致

//先将想要的数据格式赋值给定义的变量,如下(举例JSON格式):

var schema = {"permissionNames": "Administration.Tenant.Settings}

//该断言验证响应的响应体是JSON格式的数据
pm.test("数据响应格式匹对正确", function() {
    var jsonData = pm.response.json();//将响应体数据格式转换
    pm.expect(tv4.validate(jsonData, schema)).to.be.true; //特定的语法,将响应的接口数据格式和设定的格式做比较,一致返回true

});

2.验证一个账号是否正确获得了他该获得的所有权限

postman断言测试脚本二 (对数据格式和内容匹配测试)_第1张图片

//第一种方法

我的做法是将这个账号该有的权限赋值给一个变量。然后设置脚本将测试权限接口时响应的权限添加到环境变量中,通过调用环境的值来和定义的变量值做比较,如果相同就返回true,不同就false。

//将响应体数据JSON化
var jsonData = pm.response.json();
//将要测试的账号该有的权限以字符串的形式赋值给定义的变量
var array ="Administration.Tenant.Settings";
//在做判断之前先将设定的环境变量清除,permissionNames是我的环境变量值
postman.clearEnvironmentVariable("permissionNames");
//将获取到的职位权限的值添加进环境变量中
postman.setEnvironmentVariable("permissionNames", jsonData.result.permissionNames);
//做判断,当环境变量中的permissionNames值和变量array的值相等时,显示正确获得,否则fail
if (postman.getEnvironmentVariable("permissionNames") == array) {
    tests["职位权限获取正确"] = true;
    console.log(jsonData.result.permissionNames)
} else {
    tests["职位权限获取不正确"] = false;
}

//方法二

直接获取到响应的权限,将其和定义的变量值做对比

if(jsonData.result.permissionNames == array){
     tests["职位权限获取正确"] = true;
} else {
    tests["职位权限获取不正确"] = false;
}

如果失败了要查看具体有哪些权限可以console.log()函数,在控制台显示结果

 

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