JMeter 元件:线程组、取样器、监听器、配置

JMeter 中的元素是什么?

JMeter 的不同组件被称为元素。每个元素都设计用于特定目的。

下图显示了 JMeter 中的一些常见元素。

Elements in JMeter

一下子学习所有组件会导致混淆和厌倦。在这里,我们将讨论在开始使用 JMeter 进行测试之前必须了解的组件。

其余组件将在后续教程中使用时进行讨论。本教程中讨论的元素包括:

线程组

线程组是线程的集合。每个线程代表一个使用被测应用程序的用户。基本上,每个线程模拟一个真实的用户请求到服务器。

线程组的控件允许您设置每个组的线程数。

例如,如果您将线程数设置为 100;JMeter 将创建并模拟 100 个用户请求到被测服务器。

Thread Group

采样器

我们已经知道 JMeter 支持测试 HTTP、FTP、JDBC 和许多其他协议。

我们已经知道线程组模拟用户请求到服务器。

但是线程组如何知道它需要发出哪种类型的请求(HTTP、FTP 等)?

答案是采样器

用户请求可以是 FTP 请求、HTTP 请求、JDBC 请求等。

Samplers

FTP 请求

假设您想要对 FTP 服务器进行性能测试。您可以使用 JMeter 中的 FTP 请求采样器来完成此任务。此控制器允许您向 FTP 服务器发送 FTP“下载文件”或“上传文件”请求。

FTP Request

例如,如果您想从被测 FTP 服务器下载文件“Test.txt”,您需要在 JMeter 中配置一些参数,如下图所示。

FTP Request

JMeter 将向 FTP 服务器ftp.example.com发送 FTP 命令,然后从该服务器下载文件 Test.txt。

HTTP 请求

此采样器允许您向 Web 服务器发送 HTTP/HTTPS 请求。

考虑以下示例。JMeter 向 Google 网站发送 HTTP 请求,并从该网站检索 HTML 文件或图像。

HTTP Request

在教程JMeter 性能测试中,我们将详细解释此 HTTP 请求。

JDBC 请求

此采样器允许您执行数据库性能测试。它向数据库发送 JDBC 请求(SQL 查询)。

JDBC Request

例如,数据库服务器有一个名为 test_tbl 的表中存储了一个字段 test_result。您想要从数据库服务器查询此数据;您可以配置 JMeter 向此服务器发送SQL查询以检索数据。

JDBC Request

BSF 采样器

此采样器允许您使用 BSF 脚本语言编写采样器。

这是 JMeter 中 BSF 采样器的一个示例

BSF Sampler

访问日志采样器

此采样器允许您读取访问日志并生成 HTTP 请求。日志可以是图像、HTML、CSS…等。

Access Log Sampler

SMTP 采样器

如果您想测试邮件服务器,可以使用 SMTP 采样器。此采样器用于使用 SMTP 协议发送电子邮件消息。

SMTP Sampler

监听器

监听器:显示测试执行的结果。它们可以以不同的格式显示结果,例如树、表、图表或日志文件。

Listeners

图形结果监听器在图表上显示服务器响应时间

Listeners Graph Result

查看结果树以基本 HTML 格式显示用户请求的结果

View Result Tree

表格结果以表格格式显示测试结果摘要

Table Result

日志以文本文件显示测试结果摘要

Log show

配置元素

设置默认值和变量,供采样器后续使用。

下图显示了 JMeter 中一些常用的配置元素

Configuration Elements

CSV 数据集配置

假设您要测试一个网站,有 100 个用户使用不同的凭据登录。您无需记录脚本 100 次!您可以参数化脚本以输入不同的登录凭据。此登录信息(例如用户名、密码)可以存储在文本文件中。JMeter 有一个元素允许您从该文本文件中读取不同的参数。它是“CSV 数据集配置”,用于从文件中读取行并将其拆分为变量。

CSV Data Set Config

这是一个 CSV 数据的示例。它是一个包含用于登录目标网站的用户和密码的文本文件

CSV Data Set Config

HTTP Cookie 管理器

让我们通过一个例子来理解这一点——

您使用浏览器(Firefox、IE 等)浏览 www.google.com

您使用用户名和密码登录。

您的用户名和密码将作为 cookie 存储在您的计算机中。

下次访问 www.google.com 时,您无需再次登录,因为您的浏览器将使用您的 cookie 作为用户数据登录。

HTTP Cookie Manager 也具有与 Web 浏览器相同的功能。如果您有一个 HTTP 请求,并且响应包含一个 cookie,Cookie Manager 会自动存储该 cookie,并将其用于未来对该特定网站的所有请求。

HTTP 请求默认值

此元素允许您设置 HTTP 请求控制器使用的默认值。

例如,

您正在向服务器 google.com 发送 100 个 HTTP 请求

您必须手动为所有这 100 个请求输入服务器名称 = google.com

相反,您可以添加一个带有“服务器名称或 IP”字段 = google.com 的 HTTP 请求默认值

无需键入 100 次!

HTTP Request Default

此元素将在教程JMeter 性能测试中详细解释

登录配置元素

登录配置元素允许您添加或覆盖采样器中的用户名和密码设置。

例如,您想模拟一个用户使用用户名和密码登录网站www.facebook.com。您可以使用登录配置元素在用户请求中添加此用户和密码设置。

Login Config Element

登录配置元素与 CSV 数据配置

登录配置元素 CSV 数据配置
用于模拟一个用户登录 用于模拟多个用户登录
仅适用于登录参数(用户和密码) 适用于大量参数