断言其实就是对预期结果与实际结果的判断,预期==实际,就通过;预期!=通过则失败。我们不可能写好接口之后,每次挨个点击进去查看一下是否返回数据正确,因此需要我们设置一些判断,判断这个接口是否正常运行。postman中的断言是在tests中设置(点击test即进入了断言设置区)。Postman的断言是JavaScript语言编写的,写在tests标签页里,在sandbox中运行。
断言设置语法格式
• 检查响应body中等于指定string--Check if response body is equal to a string
tests["Body is correct"] = responseBody === "response_body_string";
如,在tests标签页中写入如下断言,
断言中声明的responsebody和实际运行结果body不一致,点击test results可以查看断言结果,红色为失败,蓝色为断言正确。
如果接口返回的是xml格式,在断言responsebody中需要加换行符和空格(随着递进层级相应增加2倍空格数),如
• 检查JSON某字段值--Check for a JSON value
var data = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;
如,
var jsonData = JSON.parse(responseBody);
tests["检查公众名称"] = jsonData.user_list[0].nickname === "号外天下"
• 检查响应中包含string--Check if response body contains a string
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
• 检查Status code为200--Status code is 200
tests["Status code is 200"] = responseCode.code === 200;
• 检查请求耗时时间小于200ms--Response time is less than 200ms
tests["Response time is less than 200ms"] = responseTime < 200;
• 判断返回数据的类型
比较常用的集中类型:number、string、object、array、boolean、undefined。
var res = JSON.parse(responseBody); // 先获取到返回的json数据
tests["判断loginTime的值的类型是否是number"] = typeof(res.data.loginTime) === "number";