【jmeter】jmeter报告可视化:配置生成报告仪表板,jmeter+Jenkins自动化构建生成HTML报告

版权声明:本文为博主原创文章,欢迎转载,转载须注明出处:By 故三殇 https://blog.csdn.net/qq_39720249/article/details/85044581

目录

一、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)点击前往查看接口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:\Jmeter\apache-jmeter-5.0\report\jtl-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:\Jmeter\apache-jmeter-5.0\Bat:


(2)在Bat目录下新建以下文件名的bat文件:

① DashboardOutReport.bat:
生成Dashboard仪表盘HTML报告的批处理文件。

(会生成:
G:\Jmeter\apache-jmeter-5.0\report\jtl-report-output\result.jtl 报告文件、
G:\Jmeter\apache-jmeter-5.0\report\OutReport 目录和目录下的仪表盘HTML报告、
G:\Jmeter\apache-jmeter-5.0\report\report-output 目录和目录下的csv报告)

② DashboardOutReport-new-create.bat:
G:\Jmeter\apache-jmeter-5.0\report\jtl-report-output\result.jtl文件、
G:\Jmeter\apache-jmeter-5.0\report\OutReport目录的存在判断,若之前存在,则删掉。

③ JmeterHtmlReport.bat:
生成接口HTML报告的批处理文件。

(会生成:
G:\Jmeter\apache-jmeter-5.0\report\html目录内的接口HTML报告、
G:\Jmeter\apache-jmeter-5.0\report\jtl目录内的jtl报告)

④ JmeterHtmlReport-new-create.bat:
G:\Jmeter\apache-jmeter-5.0\report\jtl目录下.jtl后缀名文件存在判断,若之前存在,则删掉。

⑤ JmeterProperties-name.bat:
jmeter.properties文件重命名,确保可正常调用此文件,最终也会保留1个jmeter.properties文件的批处理命令。


(3) DashboardOutReport.bat文件内的批处理命令:

@echo off
echo 重命名jmetercsv.properties为jmeter.properties
G:
cd G:\Jmeter\apache-jmeter-5.0\Bat
call JmeterProperties-name.bat
cd G:\Jmeter\apache-jmeter-5.0\bin
reName jmetercsv.properties jmeter.properties

echo 删除之前的result.jtl文件和OutReport目录
cd G:\Jmeter\apache-jmeter-5.0\Bat
call DashboardOutReport-new-create.bat
del /s /q G:\Jmeter\apache-jmeter-5.0\report\jtl-report-output\result.jtl
rd /s /q  G:\Jmeter\apache-jmeter-5.0\report\OutReport

echo 执行脚本输出Dashboard报告(wangyueche.jmx:要输出报告的jmeter脚本名称,需自定义修改)
cd G:\Jmeter\apache-jmeter-5.0\bin
jmeter -n -t G:\Jmeter\apache-jmeter-5.0\workspace\wangyueche.jmx -l G:\Jmeter\apache-jmeter-5.0\report\jtl-report-output\result.jtl -e -o G:\Jmeter\apache-jmeter-5.0\report\OutReport

(4)DashboardOutReport-new-create.bat文件内的批处理命令:

@echo off
echo result.jtl文件判断
SET GenFile=G:\Jmeter\apache-jmeter-5.0\report\jtl-report-output\result.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:\Jmeter\apache-jmeter-5.0\report\OutReport

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:\Jmeter\apache-jmeter-5.0\Bat
call JmeterProperties-name.bat
cd G:\Jmeter\apache-jmeter-5.0\bin
reName jmeterxml.properties jmeter.properties

echo 删除之前的.jtl报告
cd G:\Jmeter\apache-jmeter-5.0\Bat
call JmeterHtmlReport-new-create.bat
del "G:\Jmeter\apache-jmeter-5.0\report\jtl"\***.jtl

echo 执行脚本输出HTML报告
cd G:\Jmeter\apache-jmeter-5.0\extras
ant.bat -file build.xml -Dtest=Test

(6)JmeterHtmlReport-new-create.bat文件内的批处理命令:

@echo off
echo .jtl后缀名文件判断
SET GenFile="G:\Jmeter\apache-jmeter-5.0\report\jtl"\***.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:\Jmeter\apache-jmeter-5.0\bin\jmeter.properties
SET xmlFileName=G:\Jmeter\apache-jmeter-5.0\bin\jmeterxml.properties
SET csvFileName=G:\Jmeter\apache-jmeter-5.0\bin\jmetercsv.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:\Jmeter\apache-jmeter-5.0\workspace目录:



九、本地调试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:\Jmeter\apache-jmeter-5.0\Bat
call JmeterHtmlReport.bat
@echo off
echo 执行并输出DashboardHTML测试报告
G:
cd G:\Jmeter\apache-jmeter-5.0\Bat
call DashboardOutReport.bat

(2)Jenkins执行成功,并且由于设置定时任务,还会自动在本地报告目录按时更新HTML报告:

猜你喜欢

转载自blog.csdn.net/qq_39720249/article/details/85044581