jMeter-测试计划元素

Python/Java学习交流群:369606713


jMeter-测试计划元素

JMeter测试计划包括以下讨论的测试元素。一个测试计划包括至少一个线程组。在每个线程组中,我们可以放置一个或多个其他元素的组合-采样器,逻辑控制器,配置元素,侦听器和计时器。每个采样器之前都可以带有一个或多个Pre-processor元素,然后是Post-processor元素和/或Assertion元素。让我们详细了解每个元素

线程组

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

  • 设置线程数
  • 设置加速时间
  • 设置测试迭代次数

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

线程组面板包含以下组件

  • 采样器错误后要采取的措施 -如果在测试执行期间发生任何错误,则可以让测试之一

    • 继续进行测试中的下一个元素

    • Stop Thread停止当前线程。

    • 如果要在继续运行之前检查错误,请完全停止测试。

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

  • 加速周期定义JMeter使所有线程运行将花费多长时间。

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

  • 计划程序复选框 -一旦选中,计划程序配置部分将显示在控制面板的底部。

  • 计划程序配置 -您可以配置运行测试的开始和结束时间。

控制器

JMeter有两种类型的控制器- 采样器和逻辑控制器。

取样器

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

一些有用的采样器是

HTTP请求 FTP请求 JDBC请求 Java请求 SOAP / XML请求 RPC请求 以下屏幕截图显示了HTTP Request Sampler控制面板

逻辑控制器

逻辑控制器使您可以控制线程中采样器的处理顺序。逻辑控制器可以更改来自其任何子元素的请求的顺序。一些示例是-ForEach控制器,While控制器,环路控制器,IF控制器,运行时间控制器,交错控制器,吞吐量控制器和一次运行控制器。

以下屏幕截图显示了Loop Controller控制面板

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

  • 简单控制器
  • 回路控制器
  • 一次性控制器
  • 交错控制器
  • 随机控制器
  • 随机顺序控制器
  • 吞吐量控制器
  • 运行时控制器
  • 如果控制器
  • 当控制器
  • 开关控制器
  • 每个控制器
  • 模块控制器
  • 包含控制器
  • 交易控制器
  • 录音控制器

测试片段

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

听众

侦听器使您可以以表,图形,树或某些日志文件中的简单文本的形式查看采样器的结果。当执行JMeter的Sampler组件时,它们可以直观地访问JMeter收集的有关测试用例的数据。

可以在测试中的任何位置(包括直接在测试计划下)添加侦听器。他们将仅从其级别或以下级别的元素收集数据。以下列表包含JMeter提供的所有侦听器

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

计时器

默认情况下,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预处理器
  • RegEx用户参数
  • BeanShell预处理器
  • BSF预处理器

后处理器元素

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

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

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

测试元素的执行顺序

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

  • 配置元素
  • 预处理器
  • 计时器
  • 取样器
  • 后处理器(除非SampleResult为null)
  • 断言(除非SampleResult为null)
  • 侦听器(除非SampleResult为null)