jmeter - 如何从 .csv 文件计算 bean shell 采样器中 100 个线程的平均响应并将其写入 .html 文件
问题描述
我在 .csv 文件中有每个线程的响应数据。现在,一旦所有线程运行并将响应结果保存在 .csv 文件或 .jtl 中,如何计算所有线程响应的平均值以及如何在 beanshell 中计算这些响应的最小值和最大值并将平均值、最小值和最大值写入通过 beanshell 采样器的 .html 文件
解决方案
最简单的选择是使用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())
演示:
推荐阅读
- google-api - 有没有办法通过“上传令牌”映射照片
- python - Pygame 错误:pygame 没有属性 scrren
- postgresql - 可选加入 Diesel
- amazon-web-services - AWS CDK 使用什么来获取所需的接口(Python)
- php - CURLOPT_RETURNTRANSFER 在 localhost 上工作但不在 php 中的实时服务器上工作
- python - 我想在用户为所有职位投票后显示“感谢投票”消息,然后它将显示该消息
- postgresql - 第一次安装新的 postgres 时无法在 mac Os 11.3.1 中创建用户
- javascript - 带后缀的键类型
- java - 我尝试使用带有 jdk 版本 8 的 netbeans 12 的 java 语言,但它总是在输出中出现错误
- amazon-web-services - 无法通过 SSH 隧道 Sigv4 访问 Amazon Neptune