3)监听器
1--查看结果树
用途
- 调试测试计划:查看每个请求的详细信息,帮助调试和修正测试计划。
- 分析响应数据:查看服务器返回的响应数据,验证请求是否成功。
- 检查错误:识别和分析请求失败的原因。
配置步骤
-
添加查看结果树监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “查看结果树”(View Results Tree)。
-
配置查看结果树监听器
- 名称:给查看结果树监听器一个有意义的名称。
- 保存响应数据:选择是否保存响应数据到文件。
- 响应数据文件:指定保存响应数据的文件路径(可选)。
- 高级选项:可以启用一些高级选项,如显示响应头、响应体等。
示例配置
假设我们需要测试一个Web应用,并使用“查看结果树”监听器来查看每个请求的详细信息。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加查看结果树监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
- 配置查看结果树监听器:
- 名称:查看结果树
- 保存响应数据:选择“否”(除非需要保存响应数据到文件)。
- 响应数据文件:(可选,留空)
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看结果:
- 在“查看结果树”监听器中,可以看到每个请求的详细信息,包括请求和响应的数据、响应代码、响应时间等。
- 请求标签:显示请求的基本信息,如请求名称、服务器地址、请求方法等。
- 请求数据:显示发送的请求数据。
- 响应数据:显示服务器返回的响应数据。
- 响应码:显示服务器返回的HTTP响应码。
- 响应时间:显示请求的响应时间。
- 响应头:显示服务器返回的响应头信息。
- 响应体:显示服务器返回的响应体内容。
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
保存响应数据:
- 如果不需要保存响应数据到文件,可以选择不保存,以减少磁盘空间占用。
-
高级选项:
- 启用“显示响应头”和“显示响应体”选项,可以查看更多的响应信息,有助于调试和分析。
-
性能影响:
- 注意“查看结果树”监听器会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
-
过滤请求:
- 如果测试计划中有大量请求,可以使用过滤功能,只查看特定的请求。
2--汇总报告
用途
- 性能评估:评估测试的整体性能,包括平均响应时间、吞吐量、错误率等。
- 数据分析:生成详细的统计数据,帮助分析测试结果。
- 报告生成:生成易于理解和分享的测试报告。
配置步骤
-
添加汇总报告监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “汇总报告”(Summary Report)。
-
配置汇总报告监听器
- 名称:给汇总报告监听器一个有意义的名称。
- 文件:指定保存报告的文件路径(可选)。
- 其他选项:可以启用一些高级选项,如保存响应数据等。
示例配置
假设我们需要测试一个Web应用,并使用汇总报告监听器来生成测试结果的汇总统计信息。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加汇总报告监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 汇总报告。
- 配置汇总报告监听器:
- 名称:汇总报告
- 文件:(可选,指定保存报告的文件路径,例如
C:\reports\summary_report.csv
)
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看报告:
- 在“汇总报告”监听器中,可以看到每个请求的汇总统计信息,包括以下列:
- Label:请求的标签名称。
- # Samples:请求的样本数量。
- Average:平均响应时间(毫秒)。
- Min:最小响应时间(毫秒)。
- Max:最大响应时间(毫秒)。
- Error %:错误率(百分比)。
- Throughput:吞吐量(每秒请求数)。
- KB/sec:每秒传输的数据量(千字节)。
- 在“汇总报告”监听器中,可以看到每个请求的汇总统计信息,包括以下列:
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
文件保存:
- 如果需要保存报告到文件,确保指定的文件路径有效。保存为CSV格式的文件便于后续分析和处理。
-
性能影响:
- 汇总报告监听器对性能的影响较小,适合在大规模性能测试中使用。
-
过滤请求:
- 如果测试计划中有大量请求,可以使用过滤功能,只查看特定的请求。
-
多线程组:
- 如果测试计划中包含多个线程组,可以在每个线程组中添加汇总报告监听器,分别生成各自的报告。
-
综合分析:
- 结合其他监听器(如“查看结果树”、“聚合报告”等)一起使用,可以更全面地分析测试结果。
3--聚合报告
用途
- 性能评估:评估测试的整体性能,包括平均响应时间、中位数、标准差、错误率等。
- 数据分析:生成详细的统计数据,帮助分析测试结果。
- 报告生成:生成易于理解和分享的测试报告。
配置步骤
-
添加聚合报告监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “聚合报告”(Aggregate Report)。
-
配置聚合报告监听器
- 名称:给聚合报告监听器一个有意义的名称。
- 文件:指定保存报告的文件路径(可选)。
- 其他选项:可以启用一些高级选项,如保存响应数据等。
示例配置
假设我们需要测试一个Web应用,并使用聚合报告监听器来生成测试结果的详细统计信息。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加聚合报告监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 聚合报告。
- 配置聚合报告监听器:
- 名称:聚合报告
- 文件:(可选,指定保存报告的文件路径,例如
C:\reports\aggregate_report.csv
)
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看报告:
- 在“聚合报告”监听器中,可以看到每个请求的详细统计信息,包括以下列:
- Label:请求的标签名称。
- # Samples:请求的样本数量。
- Average:平均响应时间(毫秒)。
- Median:中位数响应时间(毫秒)。
- 90% Line:90%的响应时间(毫秒)。
- Min:最小响应时间(毫秒)。
- Max:最大响应时间(毫秒)。
- Error %:错误率(百分比)。
- Throughput:吞吐量(每秒请求数)。
- KB/sec:每秒传输的数据量(千字节)。
- Std Dev:标准差(响应时间的标准差)。
- 在“聚合报告”监听器中,可以看到每个请求的详细统计信息,包括以下列:
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
文件保存:
- 如果需要保存报告到文件,确保指定的文件路径有效。保存为CSV格式的文件便于后续分析和处理。
-
性能影响:
- 聚合报告监听器对性能的影响较小,适合在大规模性能测试中使用。
-
过滤请求:
- 如果测试计划中有大量请求,可以使用过滤功能,只查看特定的请求。
-
多线程组:
- 如果测试计划中包含多个线程组,可以在每个线程组中添加聚合报告监听器,分别生成各自的报告。
-
综合分析:
- 结合其他监听器(如“查看结果树”、“汇总报告”等)一起使用,可以更全面地分析测试结果。
常见统计术语解释
- Label:请求的标签名称,用于标识不同的请求。
- # Samples:请求的样本数量,即该请求被发送的次数。
- Average:平均响应时间,所有样本的响应时间的平均值。
- Median:中位数响应时间,所有样本的响应时间的中间值。
- 90% Line:90%的响应时间,表示90%的请求的响应时间不超过这个值。
- Min:最小响应时间,所有样本中的最小值。
- Max:最大响应时间,所有样本中的最大值。
- Error %:错误率,表示请求失败的比例。
- Throughput:吞吐量,每秒处理的请求数。
- KB/sec:每秒传输的数据量,单位为千字节。
- Std Dev:标准差,表示响应时间的离散程度,标准差越大表示响应时间的波动越大。
4--后端监听器
用途
- 实时监控:将测试结果实时发送到外部系统,实现实时监控。
- 数据存储:将测试结果存储到外部数据库,便于后续分析。
- 集成工具:与各种数据存储和分析工具集成,扩展JMeter的功能。
支持的后端系统
- InfluxDB:一个开源的时间序列数据库,适合存储和查询时间序列数据。
- Graphite:一个开源的度量数据存储和绘图工具。
- TSDB:Telegraf、InfluxDB、Chronograf、Kapacitor等组成的监控解决方案。
- 其他自定义后端:可以通过编写自定义脚本或插件支持其他后端系统。
配置步骤
-
添加后端监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “后端监听器”(Backend Listener)。
-
配置后端监听器
- 名称:给后端监听器一个有意义的名称。
- 实现类:选择后端监听器的具体实现类(例如
org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
)。 - 数据库URL:后端系统的URL(例如
http://localhost:8086
)。 - 数据库名称:后端数据库的名称(例如
jmeter
)。 - 保留策略:后端数据库的保留策略(例如
autogen
)。 - 测量名称:存储数据的测量名称(例如
response_times
)。 - 用户名:后端系统的用户名(如果需要)。
- 密码:后端系统的密码(如果需要)。
- 采样间隔:发送数据的间隔时间(毫秒)。
- 批处理大小:每次发送的数据条数。
- 其他选项:根据需要配置其他选项,如标签、字段等。
示例配置
假设我们需要将测试结果实时发送到InfluxDB进行监控和分析。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加后端监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 后端监听器。
- 配置后端监听器:
- 名称:后端监听器
- 实现类:
org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
- 数据库URL:
http://localhost:8086
- 数据库名称:
jmeter
- 保留策略:
autogen
- 测量名称:
response_times
- 用户名:(如果需要,填写InfluxDB的用户名)
- 密码:(如果需要,填写InfluxDB的密码)
- 采样间隔:1000(每秒发送一次数据)
- 批处理大小:100(每次发送100条数据)
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看结果:
- 打开InfluxDB的Web界面或使用命令行工具,查看存储的数据。
- 使用Grafana等可视化工具,创建仪表板展示测试结果。
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
实现类:
- 根据使用的后端系统选择合适的实现类。
-
数据库URL和名称:
- 确保数据库URL和名称的正确性,避免因配置错误导致数据无法发送。
-
保留策略:
- 根据需要选择合适的保留策略,确保数据的持久性和性能。
-
测量名称:
- 选择合适的测量名称,以便在后端系统中容易识别和查询。
-
采样间隔和批处理大小:
- 根据测试需求和后端系统的性能,调整采样间隔和批处理大小,确保数据发送的频率和批量大小合适。
-
安全性:
- 如果后端系统需要认证,确保填写正确的用户名和密码。
-
性能影响:
- 注意后端监听器可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整采样间隔和批处理大小来优化性能。
5--JSR223 Listener
用途
- 自定义数据处理:使用脚本语言处理测试结果,实现高度定制化的数据处理和分析。
- 实时监控:实时处理和显示测试结果。
- 集成外部系统:将测试结果发送到外部系统进行进一步处理和分析。
- 日志记录:记录详细的测试结果到日志文件。
支持的脚本语言
- Groovy:推荐使用,性能优越且功能强大。
- JavaScript:支持 ECMAScript 标准。
- BeanShell:支持 Java 语法。
- 其他语言:支持任何符合 JSR223 规范的脚本语言。
配置步骤
-
添加 JSR223 Listener
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “JSR223 Listener”。
-
配置 JSR223 Listener
- 名称:给 JSR223 Listener 一个有意义的名称。
- 脚本语言:选择使用的脚本语言(例如 Groovy)。
- 脚本文件:选择脚本文件路径(可选,如果脚本较长或需要版本控制)。
- 脚本:直接在脚本编辑框中编写脚本。
- 参数:定义脚本中使用的参数(可选)。
示例配置
假设我们需要使用 Groovy 脚本记录每个请求的响应时间和状态码到日志文件中。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加 JSR223 Listener:
- 右键点击线程组 -> 添加 -> 监听器 -> JSR223 Listener。
- 配置 JSR223 Listener:
- 名称:JSR223 Listener
- 脚本语言:Groovy
- 脚本:在脚本编辑框中编写以下脚本:
import java.text.SimpleDateFormat // 获取当前时间 def now = new Date() def dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") def currentTime = dateFormat.format(now) // 获取请求名称、响应时间、状态码 def label = prev.getSampleLabel() def responseTime = prev.getTime() def statusCode = prev.getResponseCode() // 构建日志消息 def logMessage = "${currentTime} - ${label} - Response Time: ${responseTime} ms - Status Code: ${statusCode}" // 写入日志文件 def logFile = new File('C:\\logs\\test_results.log') logFile << logMessage + '\n'
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看日志:
- 打开日志文件
C:\\logs\\test_results.log
,查看记录的测试结果。
- 打开日志文件
优化建议
-
脚本语言选择:
- 推荐使用 Groovy,因为它性能优越且功能强大,是 JMeter 官方推荐的脚本语言。
-
脚本文件:
- 如果脚本较长或需要版本控制,可以将脚本保存到文件中,并在 JSR223 Listener 中选择脚本文件路径。
-
参数:
- 如果脚本需要使用外部参数,可以在“参数”部分定义参数,并在脚本中引用这些参数。
-
性能影响:
- 注意复杂脚本可能会对测试性能产生影响,特别是大规模性能测试中。可以通过优化脚本和减少不必要的操作来提高性能。
-
错误处理:
- 在脚本中添加适当的错误处理逻辑,确保脚本在遇到异常时能够优雅地处理。
-
日志记录:
- 使用日志记录功能可以帮助调试和分析测试结果,确保日志文件路径有效且有足够的写权限。
6--保存响应到文件
用途
- 数据保存:将响应数据保存到文件中,便于后续分析和验证。
- 调试:保存响应数据以便于调试和排查问题。
- 数据归档:长期保存响应数据,用于归档和历史记录。
配置步骤
-
添加保存响应到文件监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “保存响应到文件”(Save Responses to a file)。
-
配置保存响应到文件监听器
- 名称:给保存响应到文件监听器一个有意义的名称。
- 文件名:指定保存响应数据的文件路径和文件名。
- 文件格式:选择保存文件的格式(例如
txt
、html
、xml
等)。 - 追加文件:选择是否将新的响应数据追加到现有文件中。
- 仅保存成功响应:选择是否仅保存成功的响应数据。
- 仅保存失败响应:选择是否仅保存失败的响应数据。
- 响应字段:选择保存响应的哪个部分(例如响应数据、响应头、响应码等)。
示例配置
假设我们需要测试一个Web应用,并将每个请求的响应数据保存到文件中。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加保存响应到文件监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 保存响应到文件。
- 配置保存响应到文件监听器:
- 名称:保存响应到文件
- 文件名:
C:\\responses\\response_*.txt
(*表示每个请求生成一个独立的文件) - 文件格式:
txt
- 追加文件:选择“否”(每个请求生成一个独立的文件)
- 仅保存成功响应:选择“是”(仅保存成功的响应数据)
- 仅保存失败响应:选择“否”(不保存失败的响应数据)
- 响应字段:选择“响应数据”(保存响应的主体内容)
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看文件:
- 测试完成后,打开指定的文件夹
C:\\responses\\
,查看保存的响应文件。
- 测试完成后,打开指定的文件夹
优化建议
-
文件名:
- 确保文件名路径有效且具有足够的写权限。使用通配符
*
可以为每个请求生成一个独立的文件。
- 确保文件名路径有效且具有足够的写权限。使用通配符
-
文件格式:
- 根据响应数据的格式选择合适的文件格式,例如
txt
、html
、xml
等。
- 根据响应数据的格式选择合适的文件格式,例如
-
追加文件:
- 如果需要将所有响应数据保存到同一个文件中,选择“是”。如果需要为每个请求生成一个独立的文件,选择“否”。
-
仅保存成功响应:
- 如果只需要保存成功的响应数据,选择“是”。这可以减少文件的数量和大小。
-
仅保存失败响应:
- 如果只需要保存失败的响应数据,选择“是”。这可以帮助快速定位和分析问题。
-
响应字段:
- 根据需要选择保存响应的哪个部分,例如响应数据、响应头、响应码等。
7--保存响应时间图
用途
- 性能评估:直观地评估系统的性能,查看响应时间的变化趋势。
- 问题定位:通过图表识别性能瓶颈和异常情况。
- 报告生成:生成可视化的测试报告,便于分享和展示。
配置步骤
-
添加保存响应时间图监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “保存响应时间图”(Response Times Over Time)。
-
配置保存响应时间图监听器
- 名称:给保存响应时间图监听器一个有意义的名称。
- 文件名:指定保存图表的文件路径和文件名(例如
C:\\reports\\response_times.png
)。 - 文件格式:选择保存文件的格式(例如
png
、jpg
、svg
等)。 - 时间间隔:设置生成图表的时间间隔(例如每分钟生成一张图表)。
- 显示平均值:选择是否在图表中显示平均响应时间。
- 显示最小值:选择是否在图表中显示最小响应时间。
- 显示最大值:选择是否在图表中显示最大响应时间。
- 显示中位数:选择是否在图表中显示中位数响应时间。
- 显示标准差:选择是否在图表中显示标准差。
- 显示错误率:选择是否在图表中显示错误率。
示例配置
假设我们需要测试一个Web应用,并生成响应时间的图表以评估性能。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加保存响应时间图监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 保存响应时间图。
- 配置保存响应时间图监听器:
- 名称:保存响应时间图
- 文件名:
C:\\reports\\response_times.png
- 文件格式:
png
- 时间间隔:1分钟
- 显示平均值:选择“是”
- 显示最小值:选择“是”
- 显示最大值:选择“是”
- 显示中位数:选择“是”
- 显示标准差:选择“是”
- 显示错误率:选择“是”
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看图表:
- 测试完成后,打开指定的文件
C:\\reports\\response_times.png
,查看生成的响应时间图表。
- 测试完成后,打开指定的文件
优化建议
-
文件名:
- 确保文件名路径有效且具有足够的写权限。可以使用通配符或时间戳生成唯一的文件名,避免覆盖。
-
文件格式:
- 根据需要选择合适的文件格式,例如
png
、jpg
、svg
等。png
格式通常适用于高质量的图表。
- 根据需要选择合适的文件格式,例如
-
时间间隔:
- 根据测试需求设置合适的时间间隔,例如每分钟生成一张图表。时间间隔过短可能会生成大量图表文件,影响性能。
-
显示选项:
- 根据需要选择显示的统计信息,如平均值、最小值、最大值、中位数、标准差和错误率。选择合适的选项可以帮助更好地分析性能。
-
性能影响:
- 注意生成图表可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整时间间隔和显示选项来优化性能。
-
图表分析:
- 使用生成的图表进行性能分析,识别性能瓶颈和异常情况。可以结合其他监听器(如“聚合报告”、“汇总报告”等)一起使用,进行更全面的分析。
8--图形结果
功能特点
- 响应时间:显示每次请求的响应时间,帮助用户了解请求处理的速度。
- 吞吐量:显示单位时间内完成的请求数量,反映系统的处理能力。
- 错误率:显示错误请求的比例,帮助发现潜在的问题。
- 并发用户数:显示同时发送请求的用户数量,有助于评估系统在不同负载下的表现。
如何配置“图形结果”监听器
-
添加监听器
- 在JMeter中,右键点击你的测试计划或者线程组。
- 选择“添加” > “监听器” > “图形结果”。
-
配置基本设置
- 标题:你可以为这个监听器设置一个标题,以便于识别。
- 显示响应时间:可以选择是否显示响应时间的图形。
- 显示吞吐量:可以选择是否显示吞吐量的图形。
- 显示错误率:可以选择是否显示错误率的图形。
- 显示并发用户数:可以选择是否显示并发用户的图形。
-
高级配置
- 刷新周期:设置图形更新的频率,单位为毫秒。较低的数值可以使图形实时更新,但可能会增加CPU负担。
- 显示数据点:可以选择是否在图形上显示具体的数据点。
- 显示平均值:可以选择是否在图形上显示响应时间或吞吐量的平均值。
- 显示中位数、最小值、最大值:这些选项允许你在图形上显示响应时间或吞吐量的中位数、最小值和最大值。
- 显示标准差:显示响应时间或吞吐量的标准差,帮助评估数据分布的离散程度。
-
运行测试
- 完成上述配置后,就可以运行你的测试了。运行测试时,“图形结果”监听器会自动收集数据并生成相应的图形。
-
分析结果
- 测试结束后,通过观察图形结果,可以很容易地看出哪些时间段内系统的性能有所下降,哪些操作可能成为瓶颈。此外,错误率的图形可以帮助快速定位问题所在。
注意事项
- 性能开销:“图形结果”监听器会占用一定的资源来收集和展示数据,因此在进行大规模压力测试时,应该谨慎使用,或者考虑在测试结束后再开启此功能,以减少对测试本身的影响。
- 数据保存:默认情况下,“图形结果”监听器不会自动保存图形数据。如果需要保存,可以手动截图或者查找其他方式导出数据。
9--断言结果
功能特点
- 显示断言结果:列出所有断言的结果,包括通过和失败的断言。
- 详细信息:显示每个断言的详细信息,如断言类型、实际结果和期望结果。
- 错误信息:显示断言失败时的错误信息,帮助调试。
- 颜色编码:通过颜色编码(绿色表示通过,红色表示失败)直观地显示断言结果。
配置步骤
-
添加断言结果监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “断言结果”(Assertion Results)。
-
配置断言结果监听器
- 名称:给断言结果监听器一个有意义的名称。
- 文件:(可选)指定保存断言结果的文件路径。
- 其他选项:根据需要配置其他选项,如是否显示响应数据等。
示例配置
假设我们需要测试一个Web应用,并使用断言来验证响应数据的正确性,然后使用“断言结果”监听器来查看断言结果。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加断言
- 右键点击HTTP请求 -> 添加 -> 断言 -> 响应断言。
- 配置响应断言:
- 适用范围:选择断言的范围(例如响应数据)。
- 模式匹配规则:选择匹配规则(例如包含)。
- 模式:输入期望的响应数据(例如
"success": true
)。
-
添加断言结果监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 断言结果。
- 配置断言结果监听器:
- 名称:断言结果
- 文件:(可选)指定保存断言结果的文件路径(例如
C:\\reports\\assertion_results.txt
)
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看断言结果:
- 在“断言结果”监听器中,可以看到每个断言的结果,包括通过和失败的断言。
- 状态:通过的断言显示为绿色,失败的断言显示为红色。
- 详细信息:点击具体的断言结果,可以查看断言的详细信息,如断言类型、实际结果和期望结果。
- 错误信息:对于失败的断言,可以查看错误信息,帮助调试。
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
文件保存:
- 如果需要保存断言结果到文件,确保指定的文件路径有效。保存为文本文件格式便于后续分析和处理。
-
性能影响:
- 注意“断言结果”监听器会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
-
调试:
- 使用“断言结果”监听器可以方便地调试和分析断言结果,确保测试请求按预期执行。
-
多断言:
- 如果一个请求中有多个断言,可以在“断言结果”监听器中查看每个断言的详细信息,帮助快速定位问题。
10--比较断言可视化器
功能特点
- 响应数据比较:比较两个请求的响应数据,显示相同和不同的部分。
- 图形化展示:以图形化的方式展示比较结果,直观易懂。
- 详细信息:显示每个请求的详细信息,包括响应数据、响应时间等。
- 颜色编码:通过颜色编码(绿色表示相同,红色表示不同)直观地显示比较结果。
配置步骤
-
添加比较断言
- 右键点击需要比较的请求 -> 添加 -> 断言 -> 比较断言(Compare Assertion)。
- 配置比较断言:
- 名称:给比较断言一个有意义的名称。
- 适用范围:选择要比较的部分(例如响应数据)。
- 比较模式:选择比较模式(例如完全匹配、部分匹配等)。
- 参考请求:选择作为参考的请求(通常是第一个请求)。
-
添加比较断言可视化器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “比较断言可视化器”(Compare Assertion Visualizer)。
- 配置比较断言可视化器:
- 名称:给比较断言可视化器一个有意义的名称。
- 文件:(可选)指定保存比较结果的文件路径。
示例配置
假设我们需要测试一个Web应用,并使用比较断言来验证两个请求的响应数据是否一致,然后使用“比较断言可视化器”来查看比较结果。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加第一个HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表1”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加第二个HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表2”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加比较断言
- 右键点击第二个HTTP请求 -> 添加 -> 断言 -> 比较断言。
- 配置比较断言:
- 名称:比较断言
- 适用范围:选择“响应数据”。
- 比较模式:选择“完全匹配”。
- 参考请求:选择第一个HTTP请求(例如“获取用户列表1”)。
-
添加比较断言可视化器
- 右键点击线程组 -> 添加 -> 监听器 -> 比较断言可视化器。
- 配置比较断言可视化器:
- 名称:比较断言可视化器
- 文件:(可选)指定保存比较结果的文件路径(例如
C:\\reports\\comparison_results.txt
)
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看比较结果:
- 在“比较断言可视化器”监听器中,可以看到每个请求的比较结果。
- 状态:相同的部分显示为绿色,不同的部分显示为红色。
- 详细信息:点击具体的比较结果,可以查看每个请求的详细信息,包括响应数据、响应时间等。
- 错误信息:对于不同的部分,可以查看具体的差异,帮助调试。
优化建议
-
名称:
- 给监听器和断言一个有意义的名称,以便在测试计划中容易识别。
-
文件保存:
- 如果需要保存比较结果到文件,确保指定的文件路径有效。保存为文本文件格式便于后续分析和处理。
-
性能影响:
- 注意“比较断言可视化器”会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
-
调试:
- 使用“比较断言可视化器”可以方便地调试和分析比较结果,确保响应数据的一致性。
-
多请求比较:
- 如果需要比较多个请求,可以在每个请求后面添加比较断言,并在“比较断言可视化器”中查看结果。
11--汇总图
功能特点
- 响应时间:显示每个请求的平均响应时间。
- 吞吐量:显示每个请求的吞吐量(每秒请求数)。
- 错误率:显示每个请求的错误率。
- 图形化展示:以图表的形式展示测试结果,直观易懂。
- 详细信息:显示每个请求的详细统计信息。
配置步骤
-
添加汇总图监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “汇总图”(Summary Report Graph)。
-
配置汇总图监听器
- 名称:给汇总图监听器一个有意义的名称。
- 文件:(可选)指定保存图表的文件路径。
- 显示选项:选择要显示的统计信息,如响应时间、吞吐量、错误率等。
- 时间间隔:设置生成图表的时间间隔(例如每分钟生成一张图表)。
示例配置
假设我们需要测试一个Web应用,并使用“汇总图”监听器来生成测试结果的汇总统计图表。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加汇总图监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 汇总图。
- 配置汇总图监听器:
- 名称:汇总图
- 文件:(可选)指定保存图表的文件路径(例如
C:\\reports\\summary_graph.png
) - 显示选项:
- 响应时间:选择“是”
- 吞吐量:选择“是”
- 错误率:选择“是”
- 时间间隔:1分钟
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看图表:
- 在“汇总图”监听器中,可以看到每个请求的汇总统计图表。
- 响应时间:显示每个请求的平均响应时间。
- 吞吐量:显示每个请求的吞吐量(每秒请求数)。
- 错误率:显示每个请求的错误率。
- 详细信息:点击具体的图表,可以查看每个请求的详细统计信息。
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
文件保存:
- 如果需要保存图表到文件,确保指定的文件路径有效。保存为图片格式(如PNG、JPEG)或矢量格式(如SVG)便于后续分析和分享。
-
显示选项:
- 根据需要选择显示的统计信息,如响应时间、吞吐量、错误率等。选择合适的选项可以帮助更好地分析性能。
-
时间间隔:
- 设置合适的时间间隔,例如每分钟生成一张图表。时间间隔过短可能会生成大量图表文件,影响性能。
-
性能影响:
- 注意生成图表可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整时间间隔和显示选项来优化性能。
-
图表分析:
- 使用生成的图表进行性能分析,识别性能瓶颈和异常情况。可以结合其他监听器(如“聚合报告”、“汇总报告”等)一起使用,进行更全面的分析。
12--生成概要结果
功能特点
- 响应时间:显示每个请求的平均响应时间。
- 吞吐量:显示每个请求的吞吐量(每秒请求数)。
- 错误率:显示每个请求的错误率。
- 详细统计信息:显示每个请求的详细统计信息,如最小响应时间、最大响应时间、标准差等。
- 图形化展示:以表格的形式展示测试结果,直观易懂。
配置步骤
-
添加生成概要结果监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “生成概要结果”(Generate Summary Report)。
-
配置生成概要结果监听器
- 名称:给生成概要结果监听器一个有意义的名称。
- 文件:(可选)指定保存报告的文件路径。
- 显示选项:选择要显示的统计信息,如响应时间、吞吐量、错误率等。
- 时间间隔:设置生成报告的时间间隔(例如每分钟生成一次报告)。
示例配置
假设我们需要测试一个Web应用,并使用“生成概要结果”监听器来生成测试结果的概要报告。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加生成概要结果监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 生成概要结果。
- 配置生成概要结果监听器:
- 名称:生成概要结果
- 文件:(可选)指定保存报告的文件路径(例如
C:\\reports\\summary_report.csv
) - 显示选项:
- 响应时间:选择“是”
- 吞吐量:选择“是”
- 错误率:选择“是”
- 时间间隔:1分钟
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看报告:
- 在“生成概要结果”监听器中,可以看到每个请求的概要报告。
- Label:请求的标签名称。
- # Samples:请求的样本数量。
- Average:平均响应时间(毫秒)。
- Min:最小响应时间(毫秒)。
- Max:最大响应时间(毫秒)。
- Error %:错误率(百分比)。
- Throughput:吞吐量(每秒请求数)。
- KB/sec:每秒传输的数据量(千字节)。
- 详细信息:点击具体的请求,可以查看每个请求的详细统计信息。
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
文件保存:
- 如果需要保存报告到文件,确保指定的文件路径有效。保存为CSV格式便于后续分析和处理。
-
显示选项:
- 根据需要选择显示的统计信息,如响应时间、吞吐量、错误率等。选择合适的选项可以帮助更好地分析性能。
-
时间间隔:
- 设置合适的时间间隔,例如每分钟生成一次报告。时间间隔过短可能会生成大量报告文件,影响性能。
-
性能影响:
- 注意生成报告可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整时间间隔和显示选项来优化性能。
-
图表分析:
- 使用生成的报告进行性能分析,识别性能瓶颈和异常情况。可以结合其他监听器(如“聚合报告”、“汇总报告”等)一起使用,进行更全面的分析。
13--用表格查看结果
功能特点
- 响应时间:显示每个请求的响应时间。
- 响应码:显示每个请求的HTTP响应码。
- 请求数据:显示发送的请求数据。
- 响应数据:显示接收到的响应数据。
- 错误信息:显示请求失败时的错误信息。
- 详细信息:显示每个请求的详细信息,如请求标签、样本数量等。
配置步骤
-
添加用表格查看结果监听器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “用表格查看结果”(View Results in Table)。
-
配置用表格查看结果监听器
- 名称:给用表格查看结果监听器一个有意义的名称。
- 文件:(可选)指定保存表格数据的文件路径。
- 显示选项:选择要显示的详细信息,如响应时间、响应码、请求数据等。
- 排序选项:选择如何排序表格中的数据(例如按响应时间排序)。
示例配置
假设我们需要测试一个Web应用,并使用“用表格查看结果”监听器来查看测试结果的详细信息。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加用表格查看结果监听器:
- 右键点击线程组 -> 添加 -> 监听器 -> 用表格查看结果。
- 配置用表格查看结果监听器:
- 名称:用表格查看结果
- 文件:(可选)指定保存表格数据的文件路径(例如
C:\\reports\\table_results.csv
) - 显示选项:
- 响应时间:选择“是”
- 响应码:选择“是”
- 请求数据:选择“是”
- 响应数据:选择“是”
- 排序选项:
- 按响应时间排序:选择“是”
- 升序:选择“是”
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看表格:
- 在“用表格查看结果”监听器中,可以看到每个请求的详细信息。
- Label:请求的标签名称。
- # Samples:请求的样本数量。
- Average:平均响应时间(毫秒)。
- Min:最小响应时间(毫秒)。
- Max:最大响应时间(毫秒)。
- Error %:错误率(百分比)。
- Throughput:吞吐量(每秒请求数)。
- KB/sec:每秒传输的数据量(千字节)。
- 详细信息:点击具体的请求,可以查看每个请求的详细信息,如请求数据、响应数据等。
优化建议
-
名称:
- 给监听器一个有意义的名称,以便在测试计划中容易识别。
-
文件保存:
- 如果需要保存表格数据到文件,确保指定的文件路径有效。保存为CSV格式便于后续分析和处理。
-
显示选项:
- 根据需要选择显示的详细信息,如响应时间、响应码、请求数据等。选择合适的选项可以帮助更好地分析性能。
-
排序选项:
- 根据需要选择如何排序表格中的数据,如按响应时间排序。这有助于快速找到性能较差的请求。
-
性能影响:
- 注意“用表格查看结果”监听器会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
-
调试:
- 使用“用表格查看结果”监听器可以方便地调试和分析测试结果,确保每个请求按预期执行。
14--简单数据写入器
功能特点
- 保存测试结果:将测试结果保存到文件中,支持多种文件格式(如CSV、XML)。
- 自定义保存字段:可以选择保存哪些字段,如响应时间、响应码、请求数据等。
- 文件路径:可以指定保存文件的路径和文件名。
- 追加模式:可以选择是否将新结果追加到现有文件中。
配置步骤
-
添加简单数据写入器
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “简单数据写入器”(Simple Data Writer)。
-
配置简单数据写入器
- 名称:给简单数据写入器一个有意义的名称。
- 文件:指定保存结果的文件路径和文件名(例如
C:\\reports\\test_results.csv
)。 - 文件格式:选择保存文件的格式(例如CSV、XML)。
- 追加文件:选择是否将新结果追加到现有文件中。
- 保存字段:选择要保存的字段,如响应时间、响应码、请求数据等。
示例配置
假设我们需要测试一个Web应用,并使用“简单数据写入器”将测试结果保存到文件中。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加简单数据写入器:
- 右键点击线程组 -> 添加 -> 监听器 -> 简单数据写入器。
- 配置简单数据写入器:
- 名称:简单数据写入器
- 文件:
C:\\reports\\test_results.csv
- 文件格式:CSV
- 追加文件:选择“是”(将新结果追加到现有文件中)
- 保存字段:
- 响应时间:选择“是”
- 响应码:选择“是”
- 请求数据:选择“是”
- 响应数据:选择“是”
- 错误信息:选择“是”
- 其他字段:根据需要选择其他字段
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看文件:
- 测试完成后,打开指定的文件
C:\\reports\\test_results.csv
,查看保存的测试结果。
- 测试完成后,打开指定的文件
文件格式示例
假设选择了CSV格式,保存的文件内容可能如下所示:
timestamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,bytes,sentBytes,grpThreads,allThreads,Latency,IdleTime,Connect
2024-11-09 19:39:00,123,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,123,0,123
2024-11-09 19:39:01,150,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,150,0,150
2024-11-09 19:39:02,145,获取用户列表,200,OK,用户模拟-1,text,true,1024,0,1,1,145,0,145
优化建议
-
文件路径:
- 确保文件路径有效且具有足够的写权限。使用绝对路径可以避免路径问题。
-
文件格式:
- 根据需要选择合适的文件格式,如CSV、XML等。CSV格式便于后续分析和处理。
-
追加模式:
- 如果需要将多次测试的结果合并到一个文件中,选择“追加文件”。否则,每次测试前清空文件。
-
保存字段:
- 根据需要选择保存的字段。选择合适的字段可以帮助更好地分析性能和调试问题。
-
性能影响:
- 注意“简单数据写入器”会记录大量的详细信息,可能会对测试性能产生一定影响。在大规模性能测试中,建议使用其他轻量级的监听器,如“聚合报告”或“汇总报告”。
-
文件管理:
- 定期备份和清理保存的文件,避免文件过大影响性能和管理。
15--邮件观察仪
功能特点
- 发送邮件:在测试过程中或测试结束后发送邮件通知。
- 自定义邮件内容:可以自定义邮件的主题和正文。
- 附件支持:可以附加文件到邮件中。
- 多收件人支持:可以发送邮件给多个收件人。
配置步骤
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“邮件通知”)。
-
添加邮件观察仪:
- 右键点击线程组 -> 添加 -> 取样器 -> SMTP Sampler(邮件观察仪)。
- 配置邮件观察仪:
- 名称:给邮件观察仪一个有意义的名称(例如“发送邮件通知”)。
- SMTP Server:SMTP服务器的地址(例如
smtp.example.com
)。 - SMTP Port:SMTP服务器的端口(例如
587
)。 - Use SSL:选择是否使用SSL连接。
- Use StartTLS:选择是否使用StartTLS加密。
- SMTP Auth:选择是否需要身份验证。
- User:SMTP服务器的用户名。
- Password:SMTP服务器的密码。
- From:发件人的邮箱地址。
- To:收件人的邮箱地址(多个收件人用逗号分隔)。
- Subject:邮件的主题。
- Message Body:邮件的正文。
- Message Body Type:选择邮件正文的类型(例如
text/plain
、text/html
)。 - Attachments:(可选)附加文件的路径。
-
配置触发条件:
- 如果需要在测试结束后发送邮件,可以使用“tearDown线程组”来实现。
- 右键点击测试计划 -> 添加 -> 线程组 -> tearDown线程组 -> 输入线程组名称(例如“邮件通知-tearDown”)。
- 将邮件观察仪添加到tearDown线程组中。
示例配置
假设我们需要在一个性能测试结束后发送邮件通知,报告测试结果。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加主测试线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
- 添加HTTP请求等取样器,配置测试用例。
-
添加tearDown线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> tearDown线程组 -> 输入线程组名称(例如“邮件通知-tearDown”)。
-
添加邮件观察仪:
- 右键点击tearDown线程组 -> 添加 -> 取样器 -> SMTP Sampler(邮件观察仪)。
- 配置邮件观察仪:
- 名称:发送邮件通知
- SMTP Server:smtp.example.com
- SMTP Port:587
- Use SSL:否
- Use StartTLS:是
- SMTP Auth:是
- User:yourusername@example.com
- Password:yourpassword
- From:yourusername@example.com
- To:recipient1@example.com, recipient2@example.com
- Subject:性能测试结果通知
- Message Body:性能测试已结束,请查看附件中的测试结果。
- Message Body Type:text/plain
- Attachments:(可选)C:\reports\test_results.csv
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
接收邮件:
- 测试结束后,收件人会收到包含测试结果的通知邮件。
优化建议
-
邮件服务器配置:
- 确保SMTP服务器的地址和端口正确,且服务器支持所需的加密方式(如SSL或StartTLS)。
-
身份验证:
- 如果SMTP服务器需要身份验证,确保提供的用户名和密码正确。
-
邮件内容:
- 自定义邮件的主题和正文,使其包含有用的信息,如测试结果的摘要或链接。
-
附件管理:
- 如果需要附加文件,确保文件路径正确且文件存在。
-
错误处理:
- 在邮件发送失败时,可以添加断言或日志记录来捕获错误信息,便于调试。
-
性能影响:
- 注意邮件发送可能会对测试性能产生一定影响,特别是在大规模性能测试中。可以通过调整邮件发送的时机(如使用tearDown线程组)来优化性能。
16--BeanShell Listener
功能特点
- 自定义数据处理:使用 BeanShell 脚本处理测试结果,实现高度定制化的数据处理和分析。
- 实时监控:实时处理和显示测试结果。
- 集成外部系统:将测试结果发送到外部系统进行进一步处理和分析。
- 日志记录:记录详细的测试结果到日志文件。
配置步骤
-
添加 BeanShell Listener
- 右键点击线程组(Thread Group)。
- 选择“添加” -> “监听器” -> “BeanShell Listener”。
-
配置 BeanShell Listener
- 名称:给 BeanShell Listener 一个有意义的名称。
- 文件:(可选)指定保存脚本输出的文件路径。
- 脚本:在脚本编辑框中编写 BeanShell 脚本。
- 参数:(可选)定义脚本中使用的参数。
示例配置
假设我们需要测试一个Web应用,并使用 BeanShell Listener 处理每个请求的响应时间,并将结果记录到日志文件中。
-
创建测试计划:
- 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
-
添加线程组:
- 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
-
添加HTTP请求:
- 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
- 配置HTTP请求:
- 名称:请求名称(例如“获取用户列表”)。
- 服务器名称或IP:目标服务器的地址(例如
example.com
)。 - 端口号:目标服务器的端口(例如
80
)。 - 协议:HTTP或HTTPS(例如
HTTP
)。 - 方法:请求的方法(例如
GET
)。 - 路径:请求的路径(例如
/api/users
)。
-
添加 BeanShell Listener:
- 右键点击线程组 -> 添加 -> 监听器 -> BeanShell Listener。
- 配置 BeanShell Listener:
- 名称:BeanShell Listener
- 文件:(可选)指定保存脚本输出的文件路径(例如
C:\\logs\\beanshell_output.txt
) - 脚本:在脚本编辑框中编写以下 BeanShell 脚本:
// 获取当前时间 import java.text.SimpleDateFormat; import java.util.Date; // 获取请求名称、响应时间、状态码 String label = prev.getSampleLabel(); int responseTime = prev.getTime(); String statusCode = prev.getResponseCode(); // 构建日志消息 Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String currentTime = dateFormat.format(now); String logMessage = currentTime + " - " + label + " - Response Time: " + responseTime + " ms - Status Code: " + statusCode; // 写入日志文件 File logFile = new File("C:\\logs\\test_results.log"); FileWriter writer = new FileWriter(logFile, true); writer.write(logMessage + "\n"); writer.close();
-
运行测试:
- 点击工具栏上的“启动”按钮,运行测试。
-
查看日志:
- 测试完成后,打开日志文件
C:\\logs\\test_results.log
,查看记录的测试结果。
- 测试完成后,打开日志文件
优化建议
-
脚本语言选择:
- 虽然 BeanShell 是一个强大的脚本语言,但 Groovy 通常性能更好且功能更强大。如果可能,建议使用 Groovy 脚本。
-
脚本文件:
- 如果脚本较长或需要版本控制,可以将脚本保存到文件中,并在 BeanShell Listener 中选择脚本文件路径。
-
参数:
- 如果脚本需要使用外部参数,可以在“参数”部分定义参数,并在脚本中引用这些参数。
-
性能影响:
- 注意复杂脚本可能会对测试性能产生影响,特别是在大规模性能测试中。可以通过优化脚本和减少不必要的操作来提高性能。
-
错误处理:
- 在脚本中添加适当的错误处理逻辑,确保脚本在遇到异常时能够优雅地处理。
-
日志记录:
- 使用日志记录功能可以帮助调试和分析测试结果,确保日志文件路径有效且有足够的写权限。