jMeter - 测试计划元素

  • 简述

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

    线程组元素是测试计划的起点。顾名思义,线程组元素控制 JMeter 在测试期间将使用的线程数。我们还可以通过线程组控制以下内容 -
    • 设置线程数
    • 设置加速时间
    • 设置测试迭代次数
    线程组控制面板如下所示 -
    线程组
    线程组面板包含以下组件 -
    • Action to be taken after a Sampler error - 如果在测试执行过程中发生任何错误,您可以让测试 -
      • Continue 到测试中的下一个元素
      • Stop Thread 停止当前线程。
      • Stop Test 完全,以防您想在继续运行之前检查错误。
    • Number of Threads − 模拟用户数或与您的服务器应用程序的连接数。
    • Ramp-Up Period 定义 JMeter 使所有线程运行所需的时间。
    • Loop Count − 定义执行测试的次数。
    • Scheduler checkbox − 选择后,调度程序配置部分出现在控制面板的底部。
    • Scheduler Configuration − 可以配置运行测试的开始和结束时间。
  • 控制器

    JMeter 有两种类型的控制器 - SamplersLogic Controllers

    采样器

    采样器允许 JMeter 向服务器发送特定类型的请求。它们模拟来自目标服务器的用户对页面的请求。例如,如果您需要对 HTTP 服务执行 POST、GET 或 DELETE,您可以添加 HTTP 请求采样器。
    一些有用的采样器是 -
    • HTTP 请求
    • FTP请求
    • JDBC 请求
    • Java请求
    • SOAP/XML 请求
    • RPC 请求
    以下屏幕截图显示了 HTTP 请求采样器控制面板 -
    采样器控制面板

    逻辑控制器

    逻辑控制器可让您控制线程中采样器的处理顺序。逻辑控制器可以更改来自其任何子元素的请求的顺序。一些示例是 - ForEach 控制器、While 控制器、循环控制器、IF 控制器、运行时控制器、交错控制器、吞吐量控制器和一次运行控制器。
    以下屏幕截图显示了循环控制器控制面板 -
    逻辑控制器面板
    以下列表包含 JMeter 提供的所有逻辑控制器 -
    • 简单的控制器
    • 回路控制器
    • 一次唯一的控制器
    • 交错控制器
    • 随机控制器
    • 随机顺序控制器
    • 吞吐量控制器
    • 运行时控制器
    • 如果控制器
    • 虽然控制器
    • 开关控制器
    • ForEach控制器
    • 模块控制器
    • 包括控制器
    • 事务控制器
    • 录音控制器

    测试片段

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

    侦听器允许您以表格、图形、树或一些日志文件中的简单文本的形式查看采样器的结果。当执行 JMeter 的 Sampler 组件时,它们提供对 JMeter 收集的有关测试用例的数据的可视化访问。
    监听器可以添加到测试中的任何地方,包括直接在测试计划下。他们将仅从处于或低于其级别的元素收集数据。以下列表包含 JMeter 提供的所有侦听器 -
    • 示例结果保存配置
    • 图表完整结果
    • 图表结果
    • 样条可视化器
    • 断言结果
    • 查看结果树
    • 汇总报告
    • 查看表中的结果
    • 简单数据写入器
    • 监控结果
    • 分布图(alpha)
    • 聚合图
    • 邮件可视化工具
    • 豆壳监听器
    • 总结报告
  • 计时器

    默认情况下,一个 JMeter 线程发送请求而不在每个采样器之间暂停。这可能不是您想要的。您可以添加一个计时器元素,它允许您定义在每个请求之间等待的时间段。
    以下列表显示了 JMeter 提供的所有计时器 -
    • 恒定定时器
    • 高斯随机定时器
    • 统一随机定时器
    • 恒定吞吐量定时器
    • 同步定时器
    • JSR223 时间
    • Beanshell时间
    • BSF时间
    • 泊松随机时间
    以下屏幕截图显示了恒定计时器控制面板 -
    恒定定时器面板
  • 断言

    断言允许您对使用采样器发出的请求的响应进行一些验证测试。使用断言,您可以证明您的应用程序正在返回正确的数据。JMeter 在断言失败时突出显示。
    以下列表包含 JMeter 提供的所有断言 -
    • Beanshell 断言
    • BSF 断言
    • 比较断言
    • JSR223 断言
    • 响应断言
    • 持续时间断言
    • 大小断言
    • XML 断言
    • BeanShell 断言
    • MD5Hex 断言
    • HTML 断言
    • XPath 断言
    • XML 模式断言
    以下屏幕截图显示了响应断言控制面板 -
    响应断言面板
  • 配置元素

    配置元素允许您创建采样器使用的默认值和变量。它们用于添加或修改采样器发出的请求。
    它们在它们所属范围的开始处执行,在位于同一范围内的任何采样器之前。因此,只能从放置它的分支内部访问配置元素。
    以下列表包含 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 为空)
    • 断言(除非 SampleResult 为空)
    • 侦听器(除非 SampleResult 为空)