我有.csv文件中每个线程的响应数据。现在,一旦所有线程运行并将响应结果保存在.csv文件或.jtl中,如何计算所有线程响应的平均值以及如何计算beanshell中这些响应的最小值和最大值,并将平均值,最小值和最大值结果写入一个.html文件通过beanshell sampler
答案 0 :(得分:0)
最简单的选择是使用JMeterPluginsCMD Command Line Tool,它可以以CSV格式导出Aggregate Report。相关命令行如下:
JMeterPluginsCMD--generate-csv test.csv --input-jtl results.jtl --plugin-type AggregateReport
安装JMeter插件命令行工具。
如果您仍然想进行脚本编写,请确保选择性能最高的脚本选项JSR223 Sampler and Groovy language。用于从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())
演示: