一、断言的概念
一个完整的接口测试包括:请求——>获取响应结果——>断言
断言:实际结果与预期结果的校验
二、断言的作用
通过实际结果与预期结果的对比,来判断接口测试用例是否通过;
对比结果一致则通过,对比结果不一致则不通过
三、设置断言
1、流程
在Tests中编写JavaScript脚本来实现
【PS】Tests还可以作为后置处理器
获取当前接口的响应,传递给下一个接口;
控制多个接口间的执行顺序;
在tests页签截取要对比的(响应头、响应正文、响应状态码等)信息
利用断言语句 tests[] 或 chai.js 形式把实际响应信息与期望结果对比
执行请求进行结果查看
2、语法
tests["测试用例名称"] = 逻辑表达式;
eg:tests["case01 验证是否包含"] = '123456'.has('12') // 判断是否包含
Chai.js断言库
postman中有内置的断言,点击右侧页签断言,即可生成代码,根据用例进行修改即可;
四、断言的原理
断言在接口响应返回之后执行,根据断言脚本返回断言结果(Pass、Fail),最终返回在测试结果(Test Results)中
五、常用的断言方法
状态码断言
判断接口响应的状态码是否为指定值;
判断接口响应的状态码是否与预期集合中的某一值一致;
判断接口响应的状态码名称;

响应内容断言
断言响应体中是否包含指定字符串

断言响应体(json)中某个键名对应的值

断言响应中 某字段下是否包含某字段

断言响应体是否与预期响应体内容一致
json转义地址:https://www.json.cn/json/jsonzip.html

响应头断言
断言响应头是否包含某个内容

响应时间断言
断言响应速度是否低于预期值

六、批量断言
作用:多个接口中有部分接口返回的参数名是一样的,或者返回结果也是一样的,就可以用同一个断言。
位置:集合的Tests中

运行:直接运行集合即可;
转载:https://blog.csdn.net/ren_luxia/article/details/128800692