jMeter - 测试计划元素



一个 JMeter 测试计划包含以下讨论的测试元素。一个测试计划至少包含一个线程组。在每个线程组中,我们可以放置一个或多个其他元素的组合——采样器、逻辑控制器、配置元件、监听器和定时器。每个采样器之前可以有一个或多个预处理器元素,之后可以有一个或多个后处理器元素和/或断言元素。让我们详细了解每个元素:

线程组

线程组元素是测试计划的起点。顾名思义,线程组元素控制 JMeter 在测试期间使用的线程数量。我们还可以通过线程组控制以下内容:

  • 设置线程数

  • 设置预热时间

  • 设置测试迭代次数

线程组控制面板如下所示:

Thread Group

线程组面板包含以下组件:

  • 采样器错误后的操作 - 如果在测试执行期间发生任何错误,您可以让测试:

    • 继续到测试中的下一个元素。

    • 停止线程以停止当前线程。

    • 停止测试,如果您想在测试继续运行之前检查错误。

  • 线程数 - 模拟到您的服务器应用程序的用户数或连接数。

  • 预热时间 定义 JMeter 启动所有线程所需的时间。

  • 循环次数 - 定义执行测试的次数。

  • 调度程序复选框 - 选择后,调度程序配置部分将出现在控制面板底部。

  • 调度程序配置 - 您可以配置测试的开始和结束时间。

控制器

JMeter 有两种类型的控制器:采样器逻辑控制器

采样器

采样器允许 JMeter 向服务器发送特定类型的请求。它们模拟用户对目标服务器页面的请求。例如,如果您需要对 HTTP 服务执行 POST、GET 或 DELETE 操作,则可以添加 HTTP 请求采样器。

一些有用的采样器包括:

  • HTTP 请求
  • FTP 请求
  • JDBC 请求
  • Java 请求
  • SOAP/XML 请求
  • RPC 请求

以下屏幕截图显示了 HTTP 请求采样器控制面板:

Sampler Control Panel

逻辑控制器

逻辑控制器允许您控制线程中采样器的处理顺序。逻辑控制器可以更改来自其任何子元素的请求的顺序。一些例子包括:ForEach 控制器、While 控制器、循环控制器、If 控制器、运行时控制器、交错控制器、吞吐量控制器和运行一次控制器。

以下屏幕截图显示了循环控制器控制面板:

Logic Controller Panel

以下列表包含 JMeter 提供的所有逻辑控制器:

  • 简单控制器
  • 循环控制器
  • 只运行一次控制器
  • 交错控制器
  • 随机控制器
  • 随机顺序控制器
  • 吞吐量控制器
  • 运行时控制器
  • If 控制器
  • While 控制器
  • Switch 控制器
  • ForEach 控制器
  • 模块控制器
  • Include 控制器
  • 事务控制器
  • 录制控制器

测试片段

测试片段是一种特殊的元素,位于与线程组元素相同的级别。它与线程组的区别在于,除非它被模块控制器或 Include_Controller 引用,否则它不会被执行。此元素纯粹用于测试计划中的代码重用。

监听器

监听器允许您以表格、图表、树或某些日志文件中的简单文本的形式查看采样器的结果。它们提供对 JMeter 收集的关于测试用例的数据的可视化访问,因为 JMeter 的采样器组件正在执行。

监听器可以添加到测试中的任何位置,包括直接在测试计划下。它们只收集来自其级别或其级别以下元素的数据。以下列表包含 JMeter 提供的所有监听器:

  • 样本结果保存配置
  • 图形完整结果
  • 图形结果
  • 样条曲线可视化工具
  • 断言结果
  • 查看结果树
  • 聚合报告
  • 查看结果表
  • 简单数据写入器
  • 监控结果
  • 分布图(alpha)
  • 聚合图
  • 邮件可视化工具
  • BeanShell 监听器
  • 汇总报告

定时器

默认情况下,JMeter 线程会发送请求,而不会在每个采样器之间暂停。这可能不是您想要的。您可以添加一个定时器元素,它允许您定义每个请求之间的等待时间。

以下列表显示了 JMeter 提供的所有定时器:

  • 恒定定时器
  • 高斯随机定时器
  • 均匀随机定时器
  • 恒定吞吐量定时器
  • 同步定时器
  • JSR223 定时器
  • BeanShell 定时器
  • BSF 定时器
  • 泊松随机定时器

以下屏幕截图显示了恒定定时器控制面板:

Constant Timer Panel

断言

断言允许您对使用采样器发出的请求的响应进行一些验证测试。使用断言,您可以证明您的应用程序正在返回正确的数据。JMeter 会突出显示断言失败的情况。

以下列表包含 JMeter 提供的所有断言:

  • BeanShell 断言
  • BSF 断言
  • 比较断言
  • JSR223 断言
  • 响应断言
  • 持续时间断言
  • 大小断言
  • XML 断言
  • BeanShell 断言
  • MD5Hex 断言
  • HTML 断言
  • XPath 断言
  • XML 模式断言

以下屏幕截图显示了响应断言控制面板:

Response Assertion Panel

配置元件

配置元件允许您创建采样器将使用的默认值和变量。它们用于添加或修改采样器发出的请求。

它们在其所属范围的开始处执行,在位于同一范围内的任何采样器之前执行。因此,配置元件只能从放置它的分支内部访问。

以下列表包含 JMeter 提供的所有配置元件:

  • 计数器
  • CSV 数据集配置
  • FTP 请求默认值
  • HTTP 授权管理器
  • HTTP 缓存管理器
  • HTTP Cookie 管理器
  • HTTP 代理服务器
  • HTTP 请求默认值
  • HTTP 头管理器
  • Java 请求默认值
  • 密钥库配置
  • JDBC 连接配置
  • 登录配置元素
  • LDAP 请求默认值
  • LDAP 扩展请求默认值
  • TCP 采样器配置
  • 用户定义的变量
  • 简单配置元素
  • 随机变量

预处理器元素

预处理器元素是在采样器执行之前运行的元素。它们通常用于在采样器请求运行之前修改其设置,或者更新未从响应文本中提取的变量。

以下列表包含 JMeter 提供的所有预处理器元素:

  • HTML 链接解析器
  • HTTP URL 重写修改器
  • HTTP 用户参数修改器
  • 用户参数
  • JDBC 预处理器
  • JSR223 预处理器
  • 正则表达式用户参数
  • BeanShell 预处理器
  • BSF 预处理器

后处理器元素

采样器完成执行后,后处理器会执行。此元素最常用于处理响应数据,例如,检索稍后使用的特定值。

以下列表包含 JMeter 提供的所有后处理器元素:

  • 正则表达式提取器
  • XPath 提取器
  • 结果状态操作处理程序
  • JSR223 后处理器
  • JDBC 后处理器
  • BSF 后处理器
  • CSS/JQuery 提取器
  • BeanShell 后处理器
  • 调试后处理器

测试元素的执行顺序

以下是测试计划元素的执行顺序:

  • 配置元件
  • 预处理器
  • 定时器
  • 采样器
  • 后处理器(除非 SampleResult 为 null)
  • 断言(除非 SampleResult 为 null)
  • 监听器(除非 SampleResult 为 null)
广告