目录
一、jmeter报告仪表板相关信息
二、文件修改说明
三、jmeter.properties文件配置
四、user.properties文件配置
五、新建jtl报告目录
六、复制jmeter.properties文件并重命名
七、写批处理bat文件
八、准备jmeter测试计划脚本
九、本地调试bat文件
十、Jenkins自动化构建
一、jmeter报告仪表板相关信息
(1)点击前往查看官网说明文档:生成报告仪表板配置说明文档
(2)点击前往查看reportgenerator.properties文件译文:【jmeter】reportgenerator.properties :报表生成器属性文件译文
(3)点击前往查看user.properties文件译文:【jmeter】user.properties:用户配置文件译文
(4)【先看此文看环境准备部署:Jenkins自动构建以及构建失败会邮件通知等】点击前往查看接口HTML报告生成:
【jmeter】Jmeter接口HTML可视化测试报告——Jenkins+Jmeter+Ant自动化集成环境搭建
(5)相关配置文件我的资源下载地址:
【jmeter】jmeter报告可视化:配置生成报告仪表板,jmeter+Jenkins自动化构建生成HTML报告配置文件
二、文件修改说明
仪表板生成使用JMeter属性来自定义报告。某些属性用于常规设置,其他属性用于特定图形配置或导出器配置。
首先要先确认jmeter.properties文件配置。
然后再配置user.properties文件:
可以在文件reportgenerator.properties中找到所有报告生成器属性。
要自定义这些属性,应将它们复制到user.properties文件中并进行修改。
最后写批处理bat文件,也可部署到Jenkins,定时构建,定时更新报告,自动化报告输出。
三、jmeter.properties文件配置
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.assertion_results_failure_message=true
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.response_data.on_error=false
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=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true
jmeter.save.saveservice.timestamp_format=ms
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
四、user.properties文件配置
jmeter.reportgenerator.exclude_tc_from_top5_errors_by_sampler=true
jmeter.reportgenerator.exporter.html.filters_only_sample_series=true
jmeter.reportgenerator.exporter.html.show_controllers_only=false
jmeter.reportgenerator.apdex_satisfied_threshold=500
jmeter.reportgenerator.apdex_tolerated_threshold=1500
jmeter.reportgenerator.statistic_window = 20000
在文件reportgenerator.properties中找到所有报告生成器属性。
将它们复制到user.properties文件中,并根据需要进行属性自定义修改。
五、新建jtl报告目录
新建jtl报告输出目录G:Jmeterapache-jmeter-5.0reportjtl-report-output,此目录下一定要为空:
六、复制jmeter.properties文件并重命名
(1)jmeter.properties文件的jmeter.save.saveservice.output_format需要两全,否则出现报错:
由于接口HTML报告需要jmeter.properties文件的jmeter.save.saveservice.output_format=xml,或者不设置这个字段(注释掉)才行,而设置成csv会报错;
但是仪表盘Dashboard报告却需要jmeter.properties文件的jmeter.save.saveservice.output_format=csv,设置成xml或者不设置这个字段(注释掉)都会报错。
(2)解决方案,复制jmeter.properties文件:
一个文件命名为jmeterxml.properties,该文件:jmeter.save.saveservice.output_format=xml;
另一个文件命名为jmetercsv.properties,该文件:jmeter.save.saveservice.output_format=csv。
七、写批处理bat文件
注意:bat文件的路径和具体执行的报告输出命令的脚本名称,需要按实际情况修改。
(1)新建目录G:Jmeterapache-jmeter-5.0Bat:
(2)在Bat目录下新建以下文件名的bat文件:
① DashboardOutReport.bat:
生成Dashboard仪表盘HTML报告的批处理文件。
(会生成:
G:Jmeterapache-jmeter-5.0reportjtl-report-outputresult.jtl 报告文件、
G:Jmeterapache-jmeter-5.0reportOutReport 目录和目录下的仪表盘HTML报告、
G:Jmeterapache-jmeter-5.0reportreport-output 目录和目录下的csv报告)
② DashboardOutReport-new-create.bat:
G:Jmeterapache-jmeter-5.0reportjtl-report-outputresult.jtl文件、
G:Jmeterapache-jmeter-5.0reportOutReport目录的存在判断,若之前存在,则删掉。
③ JmeterHtmlReport.bat:
生成接口HTML报告的批处理文件。
(会生成:
G:Jmeterapache-jmeter-5.0reporthtml目录内的接口HTML报告、
G:Jmeterapache-jmeter-5.0reportjtl目录内的jtl报告)
④ JmeterHtmlReport-new-create.bat:
G:Jmeterapache-jmeter-5.0reportjtl目录下.jtl后缀名文件存在判断,若之前存在,则删掉。
⑤ JmeterProperties-name.bat:
jmeter.properties文件重命名,确保可正常调用此文件,最终也会保留1个jmeter.properties文件的批处理命令。
(3) DashboardOutReport.bat文件内的批处理命令:
@echo off
echo 重命名jmetercsv.properties为jmeter.properties
G:
cd G:Jmeterapache-jmeter-5.0Bat
call JmeterProperties-name.bat
cd G:Jmeterapache-jmeter-5.0bin
reName jmetercsv.properties jmeter.properties
echo 删除之前的result.jtl文件和OutReport目录
cd G:Jmeterapache-jmeter-5.0Bat
call DashboardOutReport-new-create.bat
del /s /q G:Jmeterapache-jmeter-5.0reportjtl-report-outputresult.jtl
rd /s /q G:Jmeterapache-jmeter-5.0reportOutReport
echo 执行脚本输出Dashboard报告(wangyueche.jmx:要输出报告的jmeter脚本名称,需自定义修改)
cd G:Jmeterapache-jmeter-5.0bin
jmeter -n -t G:Jmeterapache-jmeter-5.0workspacewangyueche.jmx -l G:Jmeterapache-jmeter-5.0reportjtl-report-outputresult.jtl -e -o G:Jmeterapache-jmeter-5.0reportOutReport
(4)DashboardOutReport-new-create.bat文件内的批处理命令:
@echo off
echo result.jtl文件判断
SET GenFile=G:Jmeterapache-jmeter-5.0reportjtl-report-outputresult.jtl
if not exist %GenFile% (
rem 创建空文件G:\Jmeter\apache-jmeter-5.0\report\jtl-report-output\result.jtl
rem 如果需要添加内容,少量的,可以用内容把“nul”替换掉,比如:type 这是文件内容>%GenFile%;多的话则使用复制方法
type nul>%GenFile%
echo %GenFile%文件不存在,已创建该文件!
) else (
rem 文件G:\Jmeter\apache-jmeter-5.0\report\jtl-report-output\result.jtl已存在,无需创建
echo %GenFile%文件已存在,无需创建!
)
echo OutReport目录判断
SET GenFolder=G:Jmeterapache-jmeter-5.0reportOutReport
if not exist %GenFolder% (
rem 创建空目录G:\Jmeter\apache-jmeter-5.0\report\OutReport
rem 创建非空目录,使用复制方法
echo %GenFolder%目录不存在,已创建该目录!
md %GenFolder%
) else (
rem 目录G:\Jmeter\apache-jmeter-5.0\report\OutReport已存在,无需创建
echo %GenFolder%目录已存在,无需创建!
)
(5)JmeterHtmlReport.bat文件内的批处理命令:
@echo off
echo 重命名jmeterxml.properties为jmeter.properties
G:
cd G:Jmeterapache-jmeter-5.0Bat
call JmeterProperties-name.bat
cd G:Jmeterapache-jmeter-5.0bin
reName jmeterxml.properties jmeter.properties
echo 删除之前的.jtl报告
cd G:Jmeterapache-jmeter-5.0Bat
call JmeterHtmlReport-new-create.bat
del "G:Jmeterapache-jmeter-5.0reportjtl"***.jtl
echo 执行脚本输出HTML测试报告
cd G:Jmeterapache-jmeter-5.0extras
ant.bat -file build.xml -Dtest=Test
(6)JmeterHtmlReport-new-create.bat文件内的批处理命令:
@echo off
echo .jtl后缀名文件判断
SET GenFile="G:Jmeterapache-jmeter-5.0reportjtl"***.jtl
if not exist %GenFile% (
rem 创建空文件G:\Jmeter\apache-jmeter-5.0\report\jtl\newfile.jtl
rem 如果需要添加内容,少量的,可以用内容把“nul”替换掉,比如:type 这是文件内容>文件路径\新文件名;多的话则使用复制方法
type nul>G:\Jmeter\apache-jmeter-5.0\report\jtl\newfile.jtl
echo %GenFile%文件不存在,已创建该文件!
) else (
rem 文件"G:\Jmeter\apache-jmeter-5.0\report\jtl"\***.jtl已存在,无需创建
echo %GenFile%文件已存在,无需创建!
)
(7)JmeterProperties-name.bat文件内的批处理命令:
@echo off
echo jmeter.properties文件存在判断
SET GenFileName=G:Jmeterapache-jmeter-5.0binjmeter.properties
SET xmlFileName=G:Jmeterapache-jmeter-5.0binjmeterxml.properties
SET csvFileName=G:Jmeterapache-jmeter-5.0binjmetercsv.properties
if exist %GenFileName% (
rem 修改jmeter.properties文件名
if not exist %xmlFileName% (
rem 修改jmeter.properties文件名
cd G:\Jmeter\apache-jmeter-5.0\bin
reName jmeter.properties jmeterxml.properties
echo jmeter.properties文件已重命名为jmeterxml.properties!
) else (
rem 修改jmeter.properties文件名
cd G:\Jmeter\apache-jmeter-5.0\bin
reName jmeter.properties jmetercsv.properties
echo jmeter.properties文件已重命名为jmetercsv.properties!
)
echo %GenFileName%已重名成功!
) else (
echo %GenFileName%不存在,不用重名!
)
八、准备jmeter测试计划脚本
新建G:Jmeterapache-jmeter-5.0workspace目录:
九、本地调试bat文件
(1)双击DashboardOutReport.bat和JmeterHtmlReport.bat文件会生成jmeter仪表盘报告
(2)bat文件执行cmd窗口显示中文乱码的,解决方法:
【cmd】批处理:bat文件执行,cmd会显示中文乱码,Jenkins日志显示中文乱码——解决方案
(3)DashboardOutReport.bat执行成功后:
(4)meterHtmlReport.bat执行成功后:
十、Jenkins自动化构建
(1)Jenkins任务部署:
点击前往查看我的另一博文:【jmeter】Jmeter接口HTML可视化测试报告——Jenkins+Jmeter+Ant自动化集成环境搭建
@echo off
echo 执行并输出apiHTML测试报告
G:
cd G:Jmeterapache-jmeter-5.0Bat
call JmeterHtmlReport.bat
@echo off
echo 执行并输出DashboardHTML测试报告
G:
cd G:Jmeterapache-jmeter-5.0Bat
call DashboardOutReport.bat
(2)Jenkins执行成功,并且由于设置定时任务,还会自动在本地报告目录按时更新HTML报告: