關于jmeter可視化html報告的相關配置及實現
1.jmeter請求的返回數據亂碼問題
在jmeter\bin\jmeter.properties文件下把sampleresult.default.encoding的屬性改成UTF-8并解開注釋
2.配置可視化報告的相關設置
這個配置是在jmeter\bin\user.properties文件下
在user.properties下找到下面沒有#號的選項,并刪除#號
# Reporting configuration
#---------------------------------------------------------------------------
# If you want to debug reporting, uncomment this line
log_level.jmeter.report=DEBUG
# Configure this property to change the report title
jmeter.reportgenerator.report_title=Apache JMeter Dashboard
# Change this parameter if you want to change the granularity of over time graphs.
jmeter.reportgenerator.overall_granularity=60000
# Change this parameter if you want to change the granularity of Response time distribution
# Set to 500 ms by default
jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity=500
# Change this parameter if you want to keep only some samples.
# Regular Expression which Indicates which samples to keep for graphs and statistics generation.
# Empty value means no filtering
jmeter.reportgenerator.sample_filter=
# Change this parameter if you want to override the APDEX satisfaction threshold.
jmeter.reportgenerator.apdex_satisfied_threshold=500
# Change this parameter if you want to override the APDEX tolerance threshold.
jmeter.reportgenerator.apdex_tolerated_threshold=1500
# Indicates which graph series are filtered (regular expression)
# In the below example we filter on Search and Order samples
# Note that the end of the pattern should always include (-success|-failure)?
# TransactionsPerSecondGraphConsumer suffixes transactions with "-success" or "-failure" depending
# on the result
#jmeter.reportgenerator.exporter.html.series_filter=(Search|Order)(-success|-failure)?
# Indicates whether only controller samples are displayed on graphs that support it.
jmeter.reportgenerator.exporter.html.show_controllers_only=false
jmeter.reportgenerator.exporter.html.property.output_dir=C:\Users\cloudist\Downloads\apache-jmeter-3.0\apache-jmeter-3.0\bin\temp
最后output_dir的指向路徑根據自己的jmeter文件指向一般設置成/tem/test-report
不過在使用命令生成可是話報告時的-o命定會覆蓋這個設置
你最后使用命令的指向是哪里可視化報告就會生成在那個文件夾下
3.在jmeter\bin\jmeter.properties文件下進行如下配置
在jmeter\bin\jmeter.properties文件下找到下面沒有#號的選項,將#號刪除
#---------------------------------------------------------------------------
# Results file configuration
#---------------------------------------------------------------------------
# This section helps determine how result data will be saved.
# The commented out values are the defaults.
# legitimate values: xml, csv, db. ?Only xml and csv are currently supported.
#jmeter.save.saveservice.output_format=csv
# true when field should be saved; false otherwise
# assertion_results_failure_message only affects CSV output
jmeter.save.saveservice.assertion_results_failure_message=true
#
# legitimate values: none, first, all
#jmeter.save.saveservice.assertion_results=none
#
#jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
#jmeter.save.saveservice.response_data=false
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=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.connect_time=false
#jmeter.save.saveservice.samplerData=false
#jmeter.save.saveservice.responseHeaders=false
#jmeter.save.saveservice.requestHeaders=false
#jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
#jmeter.save.saveservice.url=false
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=false
jmeter.save.saveservice.thread_counts=true
#jmeter.save.saveservice.sample_count=false
#jmeter.save.saveservice.idle_time=true
# Timestamp format - this only affects CSV output files
# legitimate values: none, ms, or a format suitable for SimpleDateFormat
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss
這里的配置是保證輸出的CSV文件具備轉化成可視化報告的必備信息
4.在進行完上述兩個文件的配置后,重新運行jmeter,在cmd中切換到jmeter的bin目錄下執行以下命令
jmeter -n -t要執行的腳本文件的路徑-l生成報告文件的路徑-e -o可視化報告的生成路徑
例:jmeter -n -t C:jmeter\test.jmx -l C:desktop\result -e -o C:desktop\report
這里的result可以是存在文件也可以是不存在的文件
report文件必須是不存在的,否則的會執行失敗
用已經生成好的jtl或者csv文件轉化成可視化報告
jmeter -g生成好的jtl或者CSV文件的路徑-o可視化報告的路徑
例:jmeter -g C:jmeter\test.csv -o C:desktop\report
同理,report文件必須不存在
5.關于生成的可視化報告的亂碼問題的解決
這個是在jmeter源碼中的中文處理上的編碼錯誤
將jmeter\lib\ext中的ApacheJMeter_core.jar文件替換成下面的文件,從新運行即可
這個問題主要出現在3.0及之前版本上,3.0之后沒有這個問題(想要ApacheJMeter_core.jar文件的私聊我)