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.验证一个账号是否正确获得了他该获得的所有权限
//第一种方法
我的做法是将这个账号该有的权限赋值给一个变量。然后设置脚本将测试权限接口时响应的权限添加到环境变量中,通过调用环境的值来和定义的变量值做比较,如果相同就返回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()函数,在控制台显示结果