【发布时间】:2016-11-11 10:18:02
【问题描述】:
我是 JMeter 的新手,我正在尝试让 JMeter 为现有的测试脚本生成 html 报告仪表板。我在处理过程中没有遇到任何异常,并且日志表明生成报告没有问题:
2016/07/08 12:42:24 DEBUG - jmeter.report.dashboard.ReportGenerator: Start report generation
2016/07/08 12:42:25 INFO - jmeter.report.processor.NormalizerSampleConsumer: Using format:ms to parse timeStamp field
2016/07/08 12:42:25 DEBUG - jmeter.report.dashboard.ReportGenerator: Start samples processing
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.AggregateConsumer#stopProducing(): beginDate produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.AggregateConsumer#stopProducing(): endDate produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.ApdexSummaryConsumer#stopProducing(): apdexSummary produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.RequestsSummaryConsumer#stopProducing(): requestsSummary produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.StatisticsSummaryConsumer#stopProducing(): statisticsSummary produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.ErrorsSummaryConsumer#stopProducing(): errorsSummary produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer#stopProducing(): latencyVsRequest produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer#stopProducing(): hitsPerSecond produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer#stopProducing(): codesPerSecond produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer#stopProducing(): responseTimeVsRequest produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): startIntervalControlerFilter produced 4175 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer#stopProducing(): responseTimePercentiles produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer#stopProducing(): responseTimesOverTime produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer#stopProducing(): bytesThroughputOverTime produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer#stopProducing(): activeThreadsOverTime produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer#stopProducing(): timeVsThreads produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer#stopProducing(): responseTimeDistribution produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer#stopProducing(): latenciesOverTime produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer#stopProducing(): transactionsPerSecond produced 0 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): nameFilter produced 10020 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.AbstractSampleConsumer: class org.apache.jmeter.report.processor.NormalizerSampleConsumer#stopProducing(): normalizer produced 2505 samples
2016/07/08 12:42:25 INFO - org.apache.jmeter.report.processor.CsvFileSampleSource: produce(): 835 samples produced in 481ms on channel 0
2016/07/08 12:42:25 DEBUG - jmeter.report.dashboard.ReportGenerator: End of samples processing
2016/07/08 12:42:25 DEBUG - jmeter.report.dashboard.ReportGenerator: Start data exporting
2016/07/08 12:42:25 INFO - jmeter.report.dashboard.ReportGenerator: Exporting data using exporter:'html' of className:'org.apache.jmeter.report.dashboard.HtmlTemplateExporter'
2016/07/08 12:42:25 DEBUG - jmeter.report.dashboard.HtmlTemplateExporter: Start template processing
2016/07/08 12:42:25 INFO - jmeter.report.dashboard.HtmlTemplateExporter: Will generate dashboard in folder:/tmp/jmeter
2016/07/08 12:42:26 INFO - jmeter.report.dashboard.HtmlTemplateExporter: Report will be generated in:/tmp/jmeter, creating folder structure
2016/07/08 12:42:26 DEBUG - jmeter.report.dashboard.HtmlTemplateExporter: End of template processing
2016/07/08 12:42:26 DEBUG - jmeter.report.dashboard.ReportGenerator: End of data exporting
2016/07/08 12:42:26 DEBUG - jmeter.report.dashboard.ReportGenerator: End of report generation
但是,当我查看生成的 index.html 文件时,却没有数据:
result.csv 文件不是空的:
我的报告生成器和保存服务配置是:
#---------------------------------------------------------------------------
# Reporting configuration
#---------------------------------------------------------------------------
# If you want to debug reporting, uncomment this line
log_level.jmeter.report=DEBUG
jmeter.reportgenerator.report_title=AMP JMeter-test Dashboard
jmeter.reportgenerator.overall_granularity=6000
jmeter.reportgenerator.temp_dir = /tmp
#---------------------------------------------------------------------------
# Results file configuration
#---------------------------------------------------------------------------
jmeter.save.saveservice.output_format=csv
# assertion_results_failure_message only affects CSV output
jmeter.save.saveservice.assertion_results_failure_message=true
jmeter.save.saveservice.assertion_results=all
#jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.default_delimiter=,
jmeter.save.saveservice.print_field_names=true
csvread.delimiter=,
我试图搜索类似的问题(这里和其他地方),但我找不到任何可以解决这种情况的东西。结果正在以我期望的格式写入并填充到 CSV 文件中,但是在读取数据时似乎出现了问题。如果我至少可以填充错误和结果摘要部分,我会很高兴。
我在日志中注意到(包含在 sn-p 中),报告了很多 0 样本用于不同的事物......但我认为我只关心 CsvFileSampleSource,它正确识别为具有 800 - 一些样品...
另外,我像这样运行测试:
jmeter -n -t /path/to/my/amp_automation.jmx -l /tmp/result.csv -e -o /tmp/jmeter
任何见解都将不胜感激,我可能只是在这里遗漏了一些东西。理想情况下,我不想恢复为获取为 jmeter 生成的 html 报告的“旧”方式(使用 ant 或其他侦听器等)
谢谢!
【问题讨论】: