一、JMeter 断言有哪些
JMeter 断言是用于验证 Response Data 是否符合预期要求的工具,JMeter 支持多种类型的断言,常用的有:
- Response Assertion
- Duration Assertion
- JSON Assertion
- XML Assertion
- Size Assertion
二、JMeter 断言持续时间
Duration Assertion 是一个基于时间的断言,用于验证请求的响应时间是否在指定的范围内。该断言通过以下设置来配置:
获得到的响应代码:204,500-599 Duration <=2000
在上述例子中,如果响应结果的 HTTP 状态码为 204 或 5xx,且响应时间小于等于 2000 毫秒,则断言通过。
三、JMeter 断言 JSON
JSON Assertion 用于验证 JSON 格式的 Response Data 是否符合指定条件。该断言支持多种验证方式,例如断言特定的属性值、断言特定键是否存在、断言特定数组元素等。以下是一个 JSON Assertion 的例子:
JSON Assertion JSON Path:$.info.status Expected Value:200
在上述例子中,JSON Path 表示需要验证的 JSON 属性路径(在这个例子中是 info.status),Expected Value 表示该属性的期望值(在这个例子中是 200)。如果 Response Data 中的 info.status 的值等于 200,则断言通过。
四、JMeter 断言原件
Response Assertion 是 JMeter 中最基本的断言类型,它对整个 Response Data 进行匹配。以下是一个 Response Assertion 的例子:
Response Assertion Patterns to Test: Response Code Response Message Response Data Patterns to Match: 200 OK hello world
在上述例子中,Patterns to Test 表示需要进行匹配的项(在这个例子中是 Response Code、Response Message 和 Response Data),Patterns to Match 表示需要匹配到的内容(在这个例子中是 200、OK 和 hello world)。如果 Response Data 中包含这三项内容,则断言通过。
五、JMeter 断言怎么设置
在 JMeter 中设置断言很简单,只要按以下步骤操作即可:
- 选择需要添加断言的 Sampler。
- 右键单击 Sampler,选择 Add -> Assertions -> Response Assertion(或者其他需要添加的断言类型)。
- 根据需要修改断言的设置。
- 运行测试计划,查看测试结果。
六、JMeter 断言的作用
JMeter 断言的作用是在自动化测试过程中对 Response Data 进行验证,以确保 Response Data 符合预期要求。在测试过程中,如果没有断言,则无法对测试结果进行自动化验证,无法从根本上保证测试的有效性。因此,使用断言是自动化测试中不可或缺的一部分。
七、JMeter 断言类型
在 JMeter 中,断言类型非常多,可以根据测试需要选择不同的断言类型。常用的断言类型包括:
- Response Assertion
- Duration Assertion
- JSON Assertion
- XML Assertion
- Size Assertion
- BeanShell Assertion
- JavaScript Assertion
- HTML Assertion
- Cookies Assertion
- MD5Hex Assertion
八、JMeter 断言 JSON 数据
在 JMeter 中,JSON Assertion 可以非常方便地对 JSON 数据进行验证。以下是一个 JSON Assertion 的例子:
JSON Assertion JSON Path:$.data[0].name Expected Value:John
在上述例子中,JSON Path 表示需要验证的 JSON 属性路径(在这个例子中是 data[0].name),Expected Value 表示该属性的期望值(在这个例子中是 John)。如果 Response Data 中的 data 字段中第一个元素的 name 属性值等于 John,则断言通过。
九、JMeter 断言多个结果
JMeter 中可以对多个结果进行断言验证,例如对 Response Data、Response Code 和 Response Message 进行同时验证。以下是一个同时验证多个结果的 Response Assertion 的例子:
Response Assertion Patterns to Test: Response Code Response Message Response Data Patterns to Match: 200,201,202,204,206 OK hello world
在上述例子中,Patterns to Test 表示需要进行匹配的项(在这个例子中是 Response Code、Response Message 和 Response Data),Patterns to Match 表示需要匹配到的内容。如果分别匹配到的结果都符合 Patterns to Match 中的条件,则断言通过。