当前位置: 首页 > 文档资料 > jMeter 中文教程 >

Test Plan Elements

优质
小牛编辑
131浏览
2023-12-01

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 - 您可以配置运行测试的开始和结束时间。

控制器(Controllers)

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

Samplers

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

一些有用的采样器是 -

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

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

采样器控制面板

逻辑控制器

逻辑控制器允许您控制线程中采样器的处理顺序。 逻辑控制器可以更改来自其任何子元素的请求的顺序。 一些示例是 - ForEach Controller,While Controller,Loop Controller,IF Controller,Run Time Controller,Interleave Controller,Throughput Controller和Run Once Controller。

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

逻辑控制器面板

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

  • 简单控制器
  • 循环控制器
  • 一次只有控制器
  • 交错控制器
  • 随机控制器
  • 随机顺序控制器
  • 吞吐量控制器
  • 运行时控制器
  • 如果控制器
  • 而控制器
  • 开关控制器
  • ForEach Controller
  • 模块控制器
  • 包括控制器
  • 交易控制器
  • 录音控制器

测试片段

Test Fragment是一种特殊类型的元素,与Thread Group元素位于同一级别。 它与Thread Group的区别在于它不会被执行,除非它被Module Controller或Include_Controller引用。 此元素纯粹用于在测试计划中重复使用代码。

Listeners

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

可以在测试的任何地方添加监听器,包括直接在测试计划下。 他们只会从等级或低于其等级的元素收集数据。 以下列表包括JMeter提供的所有监听器 -

  • 示例结果保存配置
  • Graph Full Results
  • Graph Results
  • Spline Visualizer
  • 断言结果
  • 查看结果树
  • 汇总报告
  • 查看表格中的结果
  • 简单的数据编写者
  • 监控结果
  • 分布图(alpha)
  • 聚合图
  • Mailer Visualizer
  • BeanShell监听器
  • 总结报告

Timers

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

以下列表显示了JMeter提供的所有计时器 -

  • 恒定时器
  • 高斯随机定时器
  • 统一随机定时器
  • Constant Throughput Timer
  • 同步定时器
  • JSR223 Time
  • BeanShell时间
  • BSF Time
  • Poisson Random Time

以下屏幕截图显示了一个Constant Timer控制面板 -

恒定时间面板

断言(Assertions)

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

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

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

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

响应断言面板

配置元素

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

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

以下列表包含JMeter提供的所有配置元素 -

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

Pre-processor Elements

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

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

  • HTML链接解析器
  • HTTP URL重写修饰符
  • HTTP用户参数修饰符
  • 用户参数
  • JDBC预处理器
  • JSR223预处理器
  • RegEx用户参数
  • BeanShell预处理器
  • BSF预处理器

Post-processor Elements

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

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

  • Regular Expression Extractor
  • XPath Extractor
  • 结果状态操作处理程序
  • JSR223 PostProcessor
  • JDBC PostProcessor
  • BSF PostProcessor
  • CSS/JQuery Extractor
  • BeanShell PostProcessor
  • 调试PostProcessor

测试元素的执行顺序

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

  • 配置元素
  • Pre-Processors
  • Timers
  • Sampler
  • 后处理器(除非SampleResult为null)
  • 断言(除非SampleResult为null)
  • 监听器(除非SampleResult为null)