一、前言
在 JMeter 中,断言元件(Assertion)用于验证测试结果是否符合预期。断言元件可以检查服务器的响应数据,以确保它们符合期望的模式或值,从而验证性能测试脚本的正确性。断言元件通常在每个请求的响应中添加,以确保服务器返回了正确的响应。
二、常用的JMeter断言元件
1. 常用断言元件
- Response Assertion(响应断言)
- Size Assertion(大小断言)
- XPath Assertion(XPath 断言)
- JSON Assertion(Json 断言)
2. 断言添加方式:
根据需要可在【测试计划】、【线程组】、【线程请求】下添加断言,一般在对应的【线程请求】下添加,如下图所示。
添加路径:【线程请求-点击右键-添加-断言-对应的断言形式】
3. 查看断言结果
3.1 【断言结果】看断言结果
添加路径:【测试计划-点击右键-添加-监听器-断言结果】
整个测试计划下所有请求的所有断言结果报错信息均会在此显示,如下图所示,将所有断言结果的报错信息直接展示出来。
3.2【查看结果树】看断言结果
添加路径:【测试计划-点击右键-添加-监听器-查看结果树】,整个测试计划下所有请求的所有断言结果报错信息均会在此显示,如下图的形式,切换查看。
三、断言元件的详细介绍
3.1 Response Assertion(响应断言)
3.1.1 简介
用于检查服务器响应的内容是否符合预期,可以基于响应的内容、代码、消息或其他属性进行断言。可以根据响应文本、响应代码、响应消息和其他参数来定义断言条件,并指定断言模式(包含、匹配、不包含等)。
3.1.2 参数配置介绍
-
Apply to 选项默认即可,Main sample only(仅作用于父节点取样器)。
-
测试字段:要检查的项 (实际结果)
- Text Response:来自服务器的响应文本。
- Response Code:响应的状态码,例如:200。
- Response Message:响应的信息,例如: OK。
- Response Headers: 响应头部
- Request Headers: 请求头部
- Request Data:请求数据
- URL 样本:请求 URL
- Document(text): 响应的整个文栏
- 忽略状态:忽略返回的响应状态码
-
模式匹配规则:比较方式(校验规则)
- contains(包括):文本包含指定的正则表达式
- Matches(匹配):整个文本匹配指定的正则表达式
- Equals(等于):整个返回结果的文本等于指定的字符串(区分大小写)
- substring:返回结果的文本包含指定字符串(区分大小写)
- 否: 取反
- 或者:如果存在多个测试模式,勾选代表逻辑或(只要有一个模式匹配,则断言就是 ok),不勾选代表逻辑与(所有都必须匹配,断言才是 ok)
-
测试模式:预期结果,即填写指定的结果(可填写多个) 按钮[添加]、[删除] 是进行指定内容的管理。
3.1.3 实战案例
检查百度首页的请求响应中是否包