发送请求,jmeter置灰默认检查是否返回结果,但是无法保证返回结果信息的准确性,需要做结果检查
断言就是检查预期结果和返回信息的时机结果是否一致
对一个请求返回的信息,做字符串。数据包大小、html、xml、图片等做判断,确保返回信息的准确性
性能测试中较少用到断言,一般只是简单的做一些断言,因为断言会增加脚本执行时间
接口测试中断言是必须的,使用断言可以创建更稳定、品质更好且不易于出错的
断言类型:
- 响应断言
- json断言
- BeanShell断言
增加断言的方法:
- 在请求右上角点击后,选择添加—断言
- 然后添加查看断言结果
- 通过jmeter发送一个请求,默认情况下jmeter只能判断请求的响应是否返回,无法判断响应是否成功
- 也无法判断响应的时机内容是否正确
- 需要使用jmeter响应断言,来判断响应的信息是否为预期的信息
响应断言:
- 名称:默认为响应断言,不可以修改
- 注释
- apply to:指定断言作用的范围
- Main sample and sub-samples作用于父节点取样器以及对应子节点取样器
- Main sample only 仅作用于父节点取样器
- sub-samples only 仅作用于子节点取样器
- Jmeter Variable Name to use 作用域jmeter变量(输入框内可以输入jmeter的变量名称)
- 测试字段:要检查的项,默认为响应文本
- 响应文本:服务器返回的响应文本内容,http协议排除header部分
- 响应代码:http响应代码,例如101、200/301/302/404/501等
- 响应信息:匹配响应信息,处理成功返回成功或OK字样
- 响应头:响应头像中的信息,包括seet cookie头
- 请求头:request Headers
- URL样本:对取样器的URL进行断言、如果请求没有重定向,那么就是请求URL,如果有重定向,那么URL就包含请求URL和重定向URL
- 文档:文本响应、PDF、Office,Jmeter会解析服务器响应内容,会消耗内存,容易解析是啊比
- 忽略状态:
- 请求数据:
- 模式匹配规则
- 包括:返回结果中包含你所指定的内容,支持正则表达式
- 匹配:响应内容要完全匹配需要匹配的内容,支持正则表达式
- 相等:响应内容要完全等于需要匹配的内容即代表响应成功,注意大小写,需要匹配的内容是字符串
- 测试模式:预期值
- 点击测试模式列表下的添加按钮添加多个测试模式每个测试模式相当于一个单独的断言执行的效果
- 如果某个模式断言失败了,降不继续往下检查剩余的模式
-
json断言
json断言可以对服务器返回的json文档进行验证
- json断言有两种使用模式
- jsonpath能否在json文档中找到路径
- jsonpath提取值并对值进行验证
- 若文档格式为非json则断言失败
- 使用指定语法找不到指定json数据路径时断言失败
- 若提取与预期不一致断言失败
- 部分断言
- $ 标识整个json对象
- . 标识层级
- 简明区分大小写
- 部分断言可以识别汉字