JMeter 组件详解 -Assertions 断言

Metadata

title: JMeter 组件详解 -Assertions 断言
date: 2022-12-13 13:20
tags: 
  - 行动阶段/完成
  - 主题场景/工具
  - 笔记空间/KnowladgeSpace/ToolSpace
  - 细化主题/JMeter
  - 细化主题/组件
  - 细化主题/断言
categories:
  - JMeter
keywords:
  - JMeter
  - 组件
  - 断言
description: 断言用于对采样器执行额外的检查,并在相同范围内的每个采样器之后进行处理。要确保Assertion只应用于特定的采样器,请将其添加为该采样器的子元素。

Assertions | 断言

断言用于对采样器执行额外的检查,并在相同范围内的每个采样器之后进行处理。要确保Assertion只应用于特定的采样器,请将其添加为该采样器的子元素。

注意:除非另有说明,断言不应用于子样本(子样本)—只应用于父样本。对于JSR223和BeanShell断言,脚本可以使用prev.getSubResults()方法检索子示例,该方法返回一个samplerresults数组。如果没有,则数组为空。

断言可以应用于主样例、子样例,也可以同时应用于两者。默认情况是只对主示例应用断言。如果Assertion支持此选项,那么GUI上会出现如下条目:

界面

如果子采样器失败而主样本成功,则主样本将被设置为失败状态,并将添加断言结果。如果使用了JMeter变量选项,则假定它与主示例有关,任何失败都将只应用于主示例。

Response Assertion | 响应断言

响应断言控制面板允许您添加模式字符串,以便与请求或响应的各种字段进行比较。模式字符串是:

  • Contains, Matches: Perl5-style正则表达式
  • Equals, Substring: 纯文本,区分大小写

界面

参数说明

Attribute Description Required
Name 树中显示的这个元素的描述性名称。 No
Apply to: 这是用于可以生成子样本的采样器,例如带有嵌入式资源的HTTP采样器,邮件阅读器或由事务控制器生成的样本。 Yes
Field to Test 指示JMeter测试请求或响应的哪个字段。 Yes
Ignore status 指示JMeter将初始状态设置为成功。 Yes
Pattern Matching Rules 指示如何根据模式检查被测试的文本。 Yes
Patterns to Test 要测试的模式列表。每个模式都是单独测试的。如果一个模式失败,则不会检查其他模式。使用多个模式设置一个断言与使用每个模式设置多个断言之间没有区别(假设其他选项相同)。 Yes
Custom failure message 允许您定义将替换生成的失败消息的失败消息 No

Duration Assertion | 断言持续时间

持续时间断言测试是否在给定的时间内收到每个响应。任何超过给定毫秒数(由用户指定)的响应都被标记为失败的响应。

界面

参数说明

Attribute Description Required
Name 树中显示的这个元素的描述性名称。 No
Duration in Milliseconds 在被标记为失败之前,允许每个响应的最大毫秒数。 Yes

Size Assertion | 大小断言

大小断言测试每个响应中包含正确的字节数。可以指定大小等于、大于、小于或不等于给定字节数。

界面

参数说明

Attribute Description Required
Name 树中显示的这个元素的描述性名称。 No
Size in bytes 用于测试响应大小(或JMeter变量的值)的字节数。 Yes
Type of Comparison 是否测试响应是否等于、大于、小于或不等于指定的字节数。 Yes

XML Assertion | XML 断言

XML断言测试响应数据由形式上正确的XML文档组成。它不基于DTD或模式验证XML,也不做任何进一步的验证。

界面

BeanShell Assertion | BeanShell 断言

BeanShell断言允许用户使用BeanShell脚本执行断言检查。

请注意,在测试脚本的每个线程中,断言的每个独立出现都使用不同的解释器,但后续调用使用相同的解释器。这意味着变量将在对断言的调用之间持久化。

界面

MD5Hex Assertion | MD5Hex 断言

MD5Hex断言允许用户检查响应数据的MD5哈希值。

界面

HTML Assertion | HTML 断言

HTML断言允许用户使用JTidy检查响应数据的HTML语法。

界面

XPath Assertion | XPath 断言

XPath断言测试文档的格式是否良好,可以根据DTD进行验证,也可以通过JTidy对文档进行XPath测试。如果XPath存在,断言为真。使用“/”将匹配任何格式良好的文档,并且是默认的XPath表达式。该断言还支持布尔表达式,如“count(//*error)=2”。有关XPath的更多信息,请参见http://www.w3.org/TR/xpath。

Compare Assertion | 比较断言

比较断言可用于在其范围内比较样本结果。可以比较内容或运行时间,并且可以在比较之前过滤内容。可以在比较断言可视化工具中看到断言比较。

界面

JSON Assertion | JSON 断言

该组件允许您执行JSON文档的验证。首先,它将解析JSON,如果数据不是JSON,则会失败。其次,它将搜索指定的路径,使用来自Jayway JsonPath 1.2.0的语法。如果没有找到路径,它将失败。第三,如果在文档中找到了JSON路径,并且请求对预期值进行验证,它将执行验证。对于空值,GUI中有一个特殊的复选框。注意,如果路径将返回数组对象,则将对其进行迭代,如果找到预期值,则断言将成功。要验证空数组,请使用[]string。此外,如果patch将返回字典对象,它将在比较之前被转换为字符串。

界面