Charles做接口测试时怎么添加断言

断言

一般我们在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");

上面的方法,不区分大小写。下面的方法,要区分大小写。 



你可能感兴趣的:(Charles)