断言: 请求成功、返回响应状态码200,并不代表结果一定正确,还需要判断返回内容的正确与否。因此在请求的返回层面增加一层判断机制,以此来提高测试的准确性(类似于LR中的检查点)
JMeter常用的的三种断言类型:
一、Response Assertion(响应断言)
1. 添加响应断言
对Web请求的响应结果进行验证
2. 输入需要匹配的字符串
此处对于访问Baidu首页,需要设置匹配的字符串为“百度一下,你就知道”,表示返回的文本内容若包含有“百度一下,你就知道”,则就算Pass
Response Assertion配置参数
模块类型 | 选项名称 | 配置说明 |
---|---|---|
Name | Response Assertion名称 | |
Comments | 注释 | |
Apply to | 断言应用的范围 | |
Main sample and sub-samples | 作用于父节点取样器及其子节点取样器 | |
Main sample only | 仅作用于父节点取样器 | |
Sub-samples only | 仅作用于子节点取样器 | |
Jmeter Variable Name to use | 作用于Jmeter变量(输入框中可输入Jmeter的变量名称) | |
Field to Test | 测试的字段 | |
Text Response | 匹配从服务器返回的响应文本(不包括Response Headers) | |
Response Code | 匹配响应状态码 | |
Response Message | 匹配响应信息。如:OK | |
Response Headers | 匹配响应头 | |
Request Headers | 匹配请求头 | |
URL Sampled | 匹配URL链接 | |
Document(text) | 匹配文档内容 | |
Ignore Status | 一个请求多项响应断言时,忽略某一项断言的响应结果,而继续下一项断言 | |
Request Data | 匹配请求数据 | |
Pattern Mactching Rules | 匹配的规则 | |
Contains | 返回的结果包括所指定的内容,支持正则匹配 | |
Matches | 根据指定内容进行匹配 | |
Equals | 返回结果与所指定的内容一致 | |
Substring | 返回结果包括所指定结果的字符串,不支持正则匹配 | |
Not | 不进行匹配就算是Pass | |
Or | 暂不确定该模式的用法 | |
Patterns to Test | ||
Patterns to Test | 需要匹配的正则表达式、字符串。可以添加多项,每一项会分开进行验证,若某一项验证失败,则其后的不会再进行验证。 |
3. 添加:断言结果(Assertion Results)、查看结果树(View Results Tree)
4. 运行Test Plan中的线程组,进行断言检查
以下可观察到响应数据中是包含所指定的验证字符串,Pass
PS:若响应数据(Response Data)中出现中文乱码,则可参看此文解决==>JMeter返回的响应数据出现中文乱码-解决方案
二、Size Assertion(数据包字节大小断言)
判断响应结果是否包含正确数量的byte。可定义(=, !=, >, <, >=, <=)
三、Duration Assertion(持续时间断言)
判断是否在给定的时间内返回响应结果
参考来源:
[1] jmeter--响应断言
网友评论