以添加会议室接口为例,测试异常场景
测试数据
token | name | capacity |
---|---|---|
30个字符 | 10 | |
错误的token | 30个字符 | 10 |
正确的token | 0个字符 | 10 |
正确的token | 31个字符 | 10 |
正确的token | 30个字符 | 0 |
添加对应的期望结果
动态设置token值
token值因为有时间的限制,
所以需要根据接口中需要动态设置token,在prerequest 中设置
// 运行之前根据csv文件中的定义,动态设置 token 值以及name值
// 1. 先获取到csv文件中的定义
var csv_token = pm.variables.get("token");
if (csv_token == ""){
var error_token = "";
// 更新变量token的值
pm.globals.set("newtoken", error_token);
}
// 如果csv文件中定义的是错误的token 这里要准备一个错误的token值 使用代码准备
if (csv_token == "错误的token"){
var error_token = "xxxxxxyyyyxyxyxyx";
// 更新变量token的值
pm.globals.set("newtoken", error_token);
}
if(csv_token == "正确的token"){
// 设置正确的token
// 先去获取token
var tokenurl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ww88fc20d87e4cdfa1&corpsecret=8kZYaPdkie4nuh3itIwhgUKpam5Xyoq5hU4uivaswp4"
// 使用代码的方式发送请求 获取token值 设置为变量
pm.sendRequest(tokenurl, function (err, response) {
// 服务器返回
var jsondata = response.json();
pm.globals.set("newtoken", jsondata["access_token"]);
});
}
断言
从csv文件中提取变量值设置断言
// 获取csv文件中定义的变量
const errcode = pm.variables.get("errcode");
const errmsg = pm.variables.get("errmsg");
pm.test("errcode值为"+errcode, function () {
var jsonData = pm.response.json();
pm.expect(jsonData["errcode"]).to.eql(errcode);
});
pm.test("errmsg值包含"+errmsg, function () {
var jsonData = pm.response.json();
pm.expect(jsonData["errmsg"].indexOf(errmsg)>=0)
});
批量执行。