一、断言概念
断言就是让程序判断预期结果和实际结果是否一致
注:断言是在请求的返回层面增加一层判断机制;因为请求成功了,并不代表结果一定正确,因此需要检测机制提高测试准确性
二、响应断言
定义:
对Web请求的响应结果进行验证,可断言响应(信息头内容、主体内容、响应代码)
场景:
检查:让程序检查响应数据title是否是 百度一下,你就知道
测试计划-线程组
线程组-HTTP请求
HTTP请求->断言->响应断言
线程组->监听器->察看结果树
线程组->监听器->断言结果
断言结果:
断言运行成功默认不显示,如果断言失败,记录每次失败原因
参数详解
Apply to:作用域
- Main sample and sub-samples:作用于父节点取样器及其子节点取样器
- Main sample only:作用于父节点取样器及其子节点取样器
- Sub-samples only:仅作用于子节点取样器
- Jmeter Variable Name to use:作用于Jmeter变量(输入框中可输入Jmeter的变量名称)
Field to Test:测试字段(选择要进行校验的部分)
- 响应文本: 响应体中的数据(Response Body)
- 响应代码:响应状态码(如200)
- 响应信息:响应状态码对应的信息(如OK)
- Response Headers:响应头
- Request Headers:请求头
- URL样本:请求URL
- Document(text):响应数据的文本格式
- 忽略状态:勾选后,如果收到4xx、5xx消息,不主动判定为发送消息失败
- 请求数据:请求体中的参数
模式匹配规则(选择要校验的方式)
- 包括、匹配:通过正则表达式的方式校验
- Equals:相等、等于
- Substring:包含
- 否:非(取反)
- 或者:添加一个或多个校验时满足其中一个即可
测试模式:(用来进行校验的数据)--预期结果数据
点击添加按钮可以添加要校验的数据,多个数据点击多次
三、Size Assertion(Size断言)
主要是让程序检测响应数据大小
添加方式
界面展示
四、Duration Assertion(断言持续时间)
主要是让程序检测加载时间是否大于某个值
添加方式
界面展示
五、JSON断言
该组件用来对JSON文档进行验证,主要从以下三个方面来验证
- 是否JSON格式
- JSON Path是否正确($开始,上下级用.)
- 期望值是否正确
场景
请求:天气接口--http://www.weather.com.cn/data/sk/101010100.html
检查:检查响应的JSON数据中,city对应的内容是否为“北京”
JSON断言添加方式
天气接口返回结果
JSON Path:$.weatherinfo.city