jMeter - 测试计划元素
JMeter 测试计划由下面讨论的测试元素组成。测试计划至少包含一个线程组。在每个线程组中,我们可以放置一个或多个其他元素的组合 - 采样器、逻辑控制器、配置元素、侦听器和计时器。每个采样器前面可以有一个或多个预处理器元素,后面可以有后处理器元素和/或断言元素。让我们详细看看这些元素 -
线程组
线程组元素是测试计划的起点。顾名思义,线程组元素控制 JMeter 在测试期间将使用的线程数。我们还可以通过线程组控制以下内容 -
设置线程数
设置斜坡上升时间
设置测试迭代次数
线程组控制面板如下所示 -
线程组面板包含以下组件 -
采样器错误后要采取的操作- 如果测试执行期间发生任何错误,您可以让测试 -
继续测试中的下一个元素
Stop Thread停止当前线程。
完全停止测试,以防您想在继续运行之前检查错误。
线程数- 模拟服务器应用程序的用户或连接数。
Ramp-Up period定义 JMeter 使所有线程运行所需的时间。
循环计数- 定义执行测试的次数。
调度程序复选框- 一旦选择,调度程序配置部分将出现在控制面板的底部。
调度程序配置- 您可以配置运行测试的开始和结束时间。
控制器
JMeter 有两种类型的控制器 -采样器和逻辑控制器。
采样器
采样器允许 JMeter 向服务器发送特定类型的请求。它们模拟用户对来自目标服务器的页面的请求。例如,如果您需要对 HTTP 服务执行 POST、GET 或 DELETE,则可以添加 HTTP 请求采样器。
一些有用的采样器是 -
- HTTP请求
- FTP 请求
- JDBC 请求
- Java请求
- SOAP/XML 请求
- RPC 请求
以下屏幕截图显示了 HTTP 请求采样器控制面板 -
逻辑控制器
逻辑控制器可让您控制线程中采样器的处理顺序。逻辑控制器可以更改来自其任何子元素的请求的顺序。一些示例是:ForEach 控制器、While 控制器、循环控制器、IF 控制器、运行时控制器、交错控制器、吞吐量控制器和运行一次控制器。
以下屏幕截图显示了循环控制器控制面板 -
以下列表包含 JMeter 提供的所有逻辑控制器 -
- 简单控制器
- 循环控制器
- 一次唯一的控制器
- 交错控制器
- 随机控制器
- 随机顺序控制器
- 吞吐量控制器
- 运行时控制器
- 如果控制器
- 同时控制器
- 开关控制器
- 对于每个控制器
- 模块控制器
- 包括控制器
- 交易控制器
- 录音控制器
测试片段
测试片段是一种特殊类型的元素,与线程组元素放置在同一级别。它与线程组的区别在于,除非被模块控制器或 Include_Controller 引用,否则它不会被执行。该元素纯粹用于测试计划中的代码重用。
听众
侦听器允许您以表格、图形、树或某些日志文件中的简单文本的形式查看采样器的结果。当执行 JMeter 的 Sampler 组件时,它们提供对 JMeter 收集的有关测试用例的数据的可视化访问。
侦听器可以添加到测试中的任何位置,包括直接添加到测试计划下。他们只会从等于或低于其级别的元素收集数据。以下列表包含 JMeter 提供的所有监听器 -
- 结果保存配置示例
- 完整结果图
- 图表结果
- 样条可视化工具
- 断言结果
- 查看结果树
- 综合报告
- 查看表中的结果
- 简单的数据写入器
- 监控结果
- 分布图(阿尔法)
- 聚合图
- 梅勒展示台
- BeanShell 监听器
- 总结报告
定时器
默认情况下,JMeter 线程发送请求,而不会在每个采样器之间暂停。这可能不是您想要的。您可以添加一个计时器元素,它允许您定义每个请求之间等待的时间段。
以下列表显示了 JMeter 提供的所有计时器 -
- 恒定定时器
- 高斯随机定时器
- 统一随机定时器
- 恒定吞吐量定时器
- 同步定时器
- JSR223时间
- 豆壳时间
- BSF时间
- 泊松随机时间
以下屏幕截图显示了恒定定时器控制面板 -
断言
断言允许您对使用采样器发出的请求的响应进行一些验证测试。使用断言,您可以证明您的应用程序返回了正确的数据。JMeter 会在断言失败时突出显示。
以下列表包含 JMeter 提供的所有断言 -
- 豆壳断言
- 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 为 null)
- 断言(除非 SampleResult 为 null)
- 侦听器(除非 SampleResult 为 null)