Jmeter测试报告生成

时间:2021-12-22 05:04:34

Jmeter测试报告生成

  本文使用的 Jmeter 版本为 apache-jmeter-3.2
Jmeter测试报告生成
  1. 命令行模式将 jtl 文件转成测试图表
  注意: 这种方式只适用于jmeter3.0以后的版本
  1.1 在测试的过程中将 jtl 转换成测试报告
  可以执行如下命令:
  jmeter -n -t test_request.jmx -l test_result.jtl -e -o /home/csmijo/resultReport
  参数说明:
  -n : 非GUI 模式执行JMeter
  -t : 执行测试文件所在的位置及文件名
  -r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
  -l : 指定生成测试结果的保存文件, jtl 文件格式
  -e : 测试结束后,生成测试报告
  -o : 指定测试报告的存放位置
  ps:-o 指定的文件及文件夹,必须不存在,否则执行会失败,对应上面的命令就是 resultReport 文件夹必须不存在否则报错;如果存在,则文件夹必须为空;
  报告文件如下图所示:
Jmeter测试报告生成
  1.2 使用之前的测试结果,生成测试报告
  如果在执行压测脚本的时候没有指定生成测试报告,在测试结束之后,也可以通过如下的命令生成:
  jmeter -g log.jtl -e -o resultReport
  参数说明:
  -g : 指定已存在的测试结果文件
  -e : 测试结果后,生成测试报告
  -o : 指定测试报告的存放位置
  ps:-o 指定的文件及文件夹,必须不存在 ,否则执行会失败
  效果如上图
  2. 插件模式将 jtl 转成测试图表
  2.1 图表 plugin 的类型
  1.AggregateReport=JMeter's native Aggregate Report,can be saved only as CSV
  2.SynthesisReport=mix between JMeter's native Summary Report and Aggregate Report,can be saved only as CSV
  3.ThreadsStateOverTime=Active Threads Over Time
  4.BytesThroughputOverTime
  5.HitsPerSecond
  6.LatenciesOverTime
  7.PerfMon=PerfMon Metrics Collector
  8.DbMon=DbMon Metrics Collector,DataBase,get performance counters via sql
  9.JMXMon=JMXMon Metrics Collector, Java Management Extensions counters
  10.ResponseCodesPerSecond
  11.ResponseTimesDistribution
  12.ResponseTimesOverTime
  13.ResponseTimesPercentiles
  14.ThroughputVsThreads
  15.TimesVsThreads=Response Times VS Threads
  16.TransactionsPerSecond
  17.PageDataExtractorOverTime
  18.MergeResults=MergeResults Command Line Merge Tool to simplify the comparison of two or more load tests, need properties file (like merge-results.properties)
  2.2 不同 plugin类型的生成方式
  2.2.1 主要 plugin 类型
  这里使用JMeterPluginCMD来生成对应的图片或者 csv 统计文件。
  1.从官网下载:jpgc-cmd-2.1.zip: https://jmeter-plugins.org/wiki/JMeterPluginsCMD/
  2.解压文件,对应的文件分别放入jmeter安装目录的对应文件夹下,即解压后bin录下的文件都放入到jmeter安装目录的bin目录下,以此类推
  3.为了使用 JMeterPluginCMD 生成结果图片或 csv 文件,还需要依赖一下的组件:
  i.jpgc-filterresults-2.1.zip https://jmeter-plugins.org/wiki/FilterResultsTool/
  ii.jpgc-synthesis-2.1.zip https://jmeter-plugins.org/?search=jpgc-synthesis
  iii.GUI界面中的plugins manager中的jpgc-Standard set,其*包含以下的文件:
  jpgc-dummy
  jpgc-fifo
  jpgc-graphs-basic
  jpgc-perfmon
  jpgc-tst
  jpgc-sense
  jpgc-functions
  jpgc-casutg
  jpgc-ffw
  4.然后就可以使用JMeterPluginsCMD.bat/sh生成图片或CSV文件了。比如生成性能测试结果图片或CSV文件的命令为:
  #生成图片
  JMeterPluginsCMD.bat --generate-png cpu.png --input-jtl cpu.jtl --plugin-type PerfMon
  #生成CSV文件
  JMeterPluginsCMD.bat --generate-csv cpu.csv --input-jtl cpu.jtl --plugin-type PerfMon
  5.添加完上述的文件就可以生成如下plugin类型的图表
  i.AggregateReport
  ii.SynthesisReport
  iii.ThreadsStateOverTime
  iv.PerfMon
  v.ResponseTimesOverTime
  vi.TransactionsPerSecond
Jmeter测试报告生成
  2.2.2 其他类型的 plugin
  如果要生成如下plugin类型的图表:
  1.BytesThroughputOverTime
  2.HitsPerSecond
  3.LatenciesOverTime
  4.ResponseCodesPerSecond
  5.ResponseTimesDistribution
  6.ResponseTimesPercentiles
  7.ThroughputVsThreads
  8.TimesVsThreads
  就还需要添加如下的jar包到jmeter安装目录的lib\ext下:
  JMeterPlugins-Standard.jar
  https://jmeter-plugins.org/downloads/old/
  JMeterPlugins-Extras.jar
  https://jmeter-plugins.org/downloads/old/
  2.2.3 生成所有 plugin 类型的命令
  添加好上面的依赖文件后,就可以使用如下的脚本批量生成图表了。
Jmeter测试报告生成

>>每天充电一小时,搞定Python全栈测试开发