首页 > 解决方案 > 如何从 .csv 文件计算 bean shell 采样器中 100 个线程的平均响应并将其写入 .html 文件

问题描述

我在 .csv 文件中有每个线程的响应数据。现在,一旦所有线程运行并将响应结果保存在 .csv 文件或 .jtl 中,如何计算所有线程响应的平均值以及如何在 beanshell 中计算这些响应的最小值和最大值并将平均值、最小值和最大值写入通过 beanshell 采样器的 .html 文件

标签: jmeter

解决方案


最简单的选择是使用JMeterPluginsCMD 命令行工具,它可以以 CSV 格式导出汇总报告。相关的命令行将类似于:

JMeterPluginsCMD--generate-csv test.csv --input-jtl results.jtl --plugin-type AggregateReport

您可以使用JMeter 插件管理器安装 JMeter 插件命令行工具


如果您仍然想编写脚本,请确保选择性能最高的脚本选项,即JSR223 Sampler 和 Groovy 语言。从 CSV 文件计算最小值、最大值和平均值的示例 Groovy 代码如下所示:

def csvFile = new File('test.csv')
log.info('--- CSV File contents ---')
log.info(csvFile.text)
log.info('-------------------------')

def responseTimes = csvFile.readLines().each {}.collect {responseTime -> responseTime as long}
log.info('Avg:' + responseTimes.sum() / responseTimes.size())
log.info('Max: ' + responseTimes.max())
log.info('Min: ' + responseTimes.min())

演示:

JMeter Groovy 计算平均最小值和最大值


推荐阅读