您当前的位置:首页 >> 快讯 >> 
环球即时看!JMeter笔记10 | JMeter检查点

时间:2023-02-18 15:15:53    来源:腾讯云

1 关于检查点

其实就是断言,那什么是断言?之前我们对几个接口进行了请求,并设置了查看结果树,我们人工检查它是对的。那如果数据量多或者做性能测试的时候,不可能人工挨个看,我们可以通过设置断言组件来进行结果或者响应检查;

2 断言

断言组件是通过获取服务器响应数据,然后根据断言规则去匹配这想响应数据;如果匹配不到,出现异常时,JMeter就会断定这个事务失败;查看结果树中看到请求失败的事务的请求名称是红色字体;以下以响应断言组件为例来说明断言的一些应用;实际应用中响应断言可满足80%以上的验证问题。
在这里插入图片描述

3 响应断言(Response Assertion)

在这里插入图片描述

3.1 参数说明

参数


(资料图片)

说明

名称

随意设置具有业务意义即可

注释

随意设置,可为空

Main sample and sub-samples

匹配范围为当前父取样器覆盖至子取样器

Main sample only

匹配当前父取样器

Sub-samples only

匹配子取样器

JMeter Variable

对JMeter变量值进行匹配

响应文本

响应服务器返回的内容,除去Header部分

响应代码

匹配响应代码,如200

响应信息

匹配响应信息,如“成功”

响应头

匹配响应中的头信息

请求头

匹配请求中的头信息

URL样本

匹配URL链接

文档(文本)

对文档内容匹配

忽略状态

第一个响应断言失败可忽略结果,进行下一个断言

请求数据

匹配请求数据

包括

响应内容匹配内容代表响应成功,支持正则

匹配

响应内容要完全匹配需要匹配的内容,大小写不敏感,支持正则

相等

响应内容要完全等于需要匹配的内容 ,大小写不敏感,支持正则

字符串

响应内容匹配需要匹配的内容代表响应成功 ,大小写敏感,需要匹配的内容为字符串非正则

降低匹配级别

或者

有一个通过则整个断言通过

测试模式

要匹配的字符串或者正则表达式

自定义失败信息

如字面意思

4 实例说明

在JMeter笔记9 | JMeter参数化的基础上加上响应断言即可;即在“1-获取token”请求加上响应断言;在“1-1-获取用户列表”请求加上响应断言。

4.1 获取token接口加响应断言

添加【响应断言】,设置参数如下:
在这里插入图片描述
说明:即通过响应代码201来匹配响应是否成功。

4.2 获取用户列表接口加响应断言

添加【响应断言】,设置参数如下:
在这里插入图片描述
说明:通过设置测试模式"page":1,看响应文本中是否包含"page":1来判断是否成功。

4.3 查看运行结果

在这里插入图片描述

5 本文涉及到的脚本

                  false      true      false                                    COMMON            /zentao/api.php/v1            =                                                                          Content-Type            application/json                                                                      127.0.0.1        80        http        UTF-8                6                                          continue                  false          1                1        1        false                        true                              true                                                    false                {"account": "admin", "password": "123456"}                =                                                                            UTF-8          /${COMMON}/tokens          POST          true          false          true          false                                                                    token            $.token            1                                                      false            token            "token":"(.*?)"            $1$                        1                                                        201                                    Assertion.response_code            false            2                                              true                                                    false                {"page": 1,"limit": 20}                =                                                                                      /${COMMON}/users          GET          true          false          true          false                                                                                                  token                ${token}                                                                                  "page":1                                    Assertion.response_data            false            2                                              true                                                    false                {"account": "${account}", "password": "${password}", "realname": "测试用户"}                =                                                                            UTF-8          /${COMMON}/users          POST          true          false          true          false                                                                                                  token                ${token}                                                                    D:/A_jmeter_test/create_user.txt            UTF-8            account,password            true            ,            false            true            false            shareMode.all                                          id            $.id            1            NULL                                                                                                            UTF-8          /${COMMON}/users/${id}          DELETE          true          false          true          false                                                                                                  token                ${token}                                                                          false                  saveConfig                                  true            true            true                        true            true            true            true            false            true            true            false            false            false            true            false            false            false            true            0            true            true            true            true            true            true