检查点
定义说明:在性能测试中有“检查点”的概念,JMeter 中也有此功能,但是由于其基于 Java,所以在 JMeter 里就是指断言中的响应断言。

拿我们已经进行过参数化的360搜索腾讯新闻、搜索腾讯游戏为例。
检查点
步骤如下:
(1)将已经参数化的脚本导入 JMeter:

(2)添加响应断言,请注意添加的位置(原件是有作用域的哦):

(3)为了监听响应断言的结果,添加断言结果:

(4)配置响应断言,按照下图中配置即可:

下面解释下响应断言界面的配置含义。
- Apply to(应用范围)
main sample and sub sample:主要取样器和子取样器。举个例子:比如一个脚本中有 3 个 HTTP 请求,我们希望断言结果作用于所有请求,那就选择这个。
main sample only:主要作用于主要取样器,这个是我们最常用的选项,如示例中只是想在 HTTP 响应中依次匹配到腾讯新闻、腾讯游戏,所以选择它作为应用范围。
sub-sample only:只匹配子取样器,很明显检查点是为了检查最重要的流程,一般情况下不采用。
jmeter variable:应用在 JMeter 变量。
- 要测试的响应字段
响应文本:服务器响应文本,一般普通的 HTTP 响应,都勾选这个。
响应代码:HTTP 响应代码,如 101(客户方错误:交换协议)、200(成功:OK)、302(重定向:暂时转移)、404(客户方错误:NOT FOUND)、500(服务器错误:服务器内部错误)等,但当我们要验证 404 等 HTTP 响应代码时,一定要勾选“ignore status”。因为当 HTTP 响应代码为404时,JMeter 默认这个请求时失败的。
Document(Text):一切 Apache Tika 所支持的服务器响应,包括文本响应,还支持 PDF、Office、Audio、Video formats。JMeter 会用 Apache Tika 去解析服务器响应内容,会很耗内存,而且也很容易解析失败。所以一般普通 HTTP 请求,不要选择这个。
url 样本:是对 sample 的 url 进行断言。如果请求没有重定向(302),那么就是这个 url 请求;如果有重定向(且跟随重定向),那么 url 就包含请求 url 和重定向 url。
响应信息:HTTP 响应代码对应的响应信息,如实例中的 OK。

Response Header:HTTP 响应头信息,例如:
Response headers:
HTTP/1.1 200 OK
Server: openresty
Date: Sat, 23 Dec 2017 12:48:05 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache

Request Headers:HTTP 请求头信息。例如:
Request Headers:
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko
Connection: keep-alive
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5

ignore status:忽略请求状态,即遇到 404/500 等错误继续执行。
- 模式匹配的规则+要测试的模式(联合使用)
包括:以正则表达式的模式去 Contains
匹配:以正则表达式的模式去 Matches
Equals:单纯的字符串方式比较,区分大小写
Substring:和 equals 类似
否:如果选择了“匹配”和“否”,那么断言的就是不匹配正则(即取匹配的反)的才成立。
或者:字面理解,举个例子如果勾选了“包括”和或者,那么要匹配的正则可能是两个,匹配上哪个断言都成立。
(5)选中要添加断言的 sampler 右键单击“添加” | “断言” | “添加断言持续时间”命令:

目的:使得断言响应在持续时间内,断言执行成功,否则断言执行失败。
本例中设置断言持续时间为2秒:

(6)添加响应断言的结果大小,即 sampler 右键单击“添加” | “断言” | “Size Assertion” 命令:

目的:用来判断响应结果与我们预期的字节大小是否一致。
例如我们本例中设置字节大小必须等于4。

运行并查看断言结果:

我们看到此时断言结果响应失败,报错信息为:实际响应结果字节大于我们设置的4字节。
我们将 Size Assertion 的字节大小设置为 500000:

运行并查看断言结果:

此时断言结果显示成功。

浙公网安备 33010602011771号