断言
一般我们在url request中的Tests下可以增加如下各种断言判断,点击send后若是有报错的会直接提示具体是哪个字段错误
一:检查response的body中是否包含字符串
tests["测试点"] = responseBody.has("需要查找的字符串");
注:当json中value为integer时,需要查找的值可以不带双引号,
tests["xxx"]xxx代表的是你测试点的名字,可以是中文
tests["xxx"]xxx在一个脚本中如果出现多次,那么只执行第一个,所以尽量不要重复
二:检查Response Body是否等于字符串
tests["测试点"] = responseBody === "Response Body返回的内容";
这个可以用在接口返回内容为纯字符串时,直接检查整个返回结果的正确性,
接口返回:"hello"
tests["返回为hello"] = responseBody === "hello";
tests["返回为hello"] = responseBody === "he";
第二个会返回False,必须完全匹配
三:检查response body中是否包含某个string
tests["Body matches string"] = responseBody.has("string_you_want_to_search");
四:检查响应时间
tests["Response time 小于200毫秒"] = responseTime > 200;
tests["Response time 大于200毫秒"] = responseTime < 200;
五:检查状态码
这个是检查http请求状态码
tests["Status code is 200"] = responseCode.code === 200;
注:
这里的状态码,跟上面我们用的json里边的"status"不是一回事
六:检查json的值
var jsonData = JSON.parse(responseBody);
tests["Your test name"] = jsonData.value === 100;
如:
tests["状态码为301"] = jsonData["status"] == "301";
tests["message"] = jsonData["message"] == "购买商品库存不足";
tests["list"] = jsonData["lists"][0] == "11";
七:转换XML body为JSON对象
var jsonObject = xml2Json(responseBody);
tests["Body is correct"] = responseBody === "response_body_string";
八:测试response Headers中的某个元素是否存在(如:Content-Type)
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
//getResponseHeader()方法会返回header的值,如果该值存在
或者:
tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
上面的方法,不区分大小写。下面的方法,要区分大小写。