Jmeter响应断言以及JSON断言

jmeter中有个元件叫做断言(Assertion),用于检查测试中得到的响应数据是否符合预期,用以保证性能测试过程中的数据交互与预期一致。
那我们使用它的目的是为了什么? 因为返回的结果是成功的,但是返回的是200,是服务器响应成功,并不代表里面的数据是正确的,我们使用它是为了看到我们请求是否真正的成功

使用:
给某个请求添加好断言
添加对应的断言结果监听器

Jmeter响应断言

怎么用?(我们这里用老黄历来举例)
1.线程组右键(获取http请求右键) - 断言 - 响应断言 (断言里面有很多断言方法,我暂时直说响应断言)
Jmeter响应断言以及JSON断言_第1张图片

2.添加完后,把断言放在某个请求里,然后我们看看有响应断言整个模块哪些东西
Jmeter响应断言以及JSON断言_第2张图片

Main sample and sub-samples - 主样器或子样器
Main sample only - 主样器
Sub-samples only - 子样器
Jmeter Variable Name to use - 要使用的变量名

一般我们是默认Main sample only

要测试的响应字段 - 一般用最多的是:响应文本、响应头(Response headers)、请求头(request header)
模式匹配规则 (字面上理解就好了)
说了这么多我们要怎么做?

举例:
1.点击添加,然后输入想对比的数据
Jmeter响应断言以及JSON断言_第3张图片

2.添加断言结果(线程组右键 - 监听器 - 断言结果),这是用来干嘛?这是用来看断言是否正确。
运行一下:
  没有报错,察看结果树也没报错,证明断言是成功的
  Jmeter响应断言以及JSON断言_第4张图片
Jmeter响应断言以及JSON断言_第5张图片

3.那我们怎么使它报错?我们改下响应数据的值,然后看下断言结果和察看结果树

Jmeter响应断言以及JSON断言_第6张图片
Jmeter响应断言以及JSON断言_第7张图片

Jmeter响应断言以及JSON断言_第8张图片

发现我们的断言结果和察看结果树报错了,断言结果错我们可以理解,但是察看结果树报错是怎么回事?明明参数是对的,为啥还要标红?因为你的断言失败了,察看结果树就显示出来了。

JSON断言

本文示范2种断言的使用方法

1.JSON Extractor:通过jsonpath表达式进行断言

2.Response Assertion:通用的响应数据断言

0 1 JSON Extractor
接口响应结果是json格式的接口请求,进行断言时可选择JSON Extractor。

1.断言字段分析
1.1.确认判断接口请求成功的标志—Response Body含有文本:“msg”: “成功”

    1.2.通过jmeter--View Results Tree监听树上切换到json path tester模式,可校验对应的json path表达式是否正确,如下图可知$.msg可成功获取到数据。

(前提:脚本运行成功)
Jmeter响应断言以及JSON断言_第9张图片

2.添加断言JSON Extractor

Jmeter响应断言以及JSON断言_第10张图片
Jmeter响应断言以及JSON断言_第11张图片

02 Response Assertion
Response Assertion是标准断言方式,通过对接口请求的响应数据内容进行断言。

本文示例通过响应数据的三个内容进行断言,如下:

Response code

Response message

Text Response

Jmeter响应断言以及JSON断言_第12张图片

添加断言菜单路径

Jmeter响应断言以及JSON断言_第13张图片

1.断言字段分析

接口请求成功View Results Tree报告内获取:

Response code: 200

Response message: OK

Jmeter响应断言以及JSON断言_第14张图片

1.1.添加断言

第一个断言:校验请求状态码Response code

Jmeter响应断言以及JSON断言_第15张图片

第二个断言:校验请求信息response message

Jmeter响应断言以及JSON断言_第16张图片

2.断言字段分析:

接口请求成功后的响应数据如下:

Jmeter响应断言以及JSON断言_第17张图片

2.1设置第三个断言-Text Response

Jmeter响应断言以及JSON断言_第18张图片

03 运 行 结 果
1.执行断言失败:展示断言内容

Jmeter响应断言以及JSON断言_第19张图片

    2.执行断言成功:则不展示断言内容

Jmeter响应断言以及JSON断言_第20张图片

相关资源:jmeter–bean shell断言所需要的包

你可能感兴趣的:(jmeter,jmeter)