jmeter+ant生成html报告
Posted cty136
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter+ant生成html报告相关的知识,希望对你有一定的参考价值。
1.jdk安装
2.jmter安装
3.ant安装
下载apache-ant-1.10.6-bin.zip,直接解压就可使用,和jmeter类似
ant环境变量配置
- 新建系统变量:ANT_HOME,变量值为Ant的本地安装路径,如我的:D:\\software\\apache-ant-1.10.6
- 在系统变量Path后添加%ANT_HOME%\\bin
- 打开命令行,输入ant -version,打印ant版本号表示配置成功
4.使用ant构建运行Jmeter,生成jtl、html格式报告
- 修改jmeter.properties文件,jmeter.save.saveservice.output_format=xml,去掉前面的注释符
- 拷贝apache-jmeter-3.3\\extras\\ant-jmeter-1.1.1.jar到apache-ant-1.10.6\\lib目录下
- cmd命令进入apache-jmeter-3.3\\extras目录,运行"ant.bat -file build.xml -Dtest=Test" ,查看\\apache-jmeter-3.3\\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功
- 打开html格式文件,查看jmx脚本的测试报告,模板为jmter原生模板,下面自定义模板
5.修改build.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- build.xml编码格式为utf-8格式--> 3 <project name="ant-jmeter-test" default="run" basedir="."> 4 <tstamp> 5 <!-- 设置日期时间格式--> 6 <format property="datetime" pattern="yyyyMMddhhmm" /> 7 </tstamp> 8 <!-- 引用命令"ant.bat -file build.xml -Dtest=Test"中的test属性名称,如:$test即属性值为Test,优先引用 --> 9 <!-- 本地存放report的路径,即html格式和jtl格式的结果报告--> 10 <property name="reportdir" value="F:\\data\\jmeter\\report" /> 11 <!-- jmeter中script路径 --> 12 <property name="scriptdir" value="F:\\data\\jmeter\\scripts" /> 13 <!-- 本地 jmeter 目录--> 14 <property name="jmeter.home" value="C:\\software\\apache-jmeter-4.0" /> 15 <!-- 报告标题--> 16 <property name="report.title" value="接口测试"/> 17 <!--如果名称name为命令ant.bat -file build.xml -Dtest=Test中的test属性名称,则优先引用test属性值即Test,不会再引用value值--> 18 <property name="test" value="ReportName"/> 19 <!-- 生成报告名称引用当前设置的值--> 20 <property name="ReportName" value="TestReport" /> 21 <!-- 报告名称加入当前时间$datetime,如:$reportdir/$ReportName$datetime.html--> 22 <property name="jmeter.result.jtlName" value="$reportdir/$ReportName.jtl" /> 23 <property name="jmeter.result.htmlName" value="$reportdir/$ReportName.html" /> 24 <!-- 报告的输出格式"xml"--> 25 <property name="jmeter.save.saveservice.output_format" value="xml"/> 26 <!-- 引用jar路径--> 27 <path id="xslt.classpath"> 28 <fileset dir="$jmeter.home/lib" includes="xalan*.jar"/> 29 <fileset dir="$jmeter.home/lib" includes="serializer*.jar"/> 30 </path> 31 <!-- 运行了两个标签中的内容--> 32 <target name="run"> 33 <!--测试脚本标签对应下面的jMeter脚本--> 34 <antcall target="test" /> 35 <!--测试脚本标签对应下面的jMeter脚本后产生测试报告的--> 36 <antcall target="report" /> 37 </target> 38 <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="test" /> target值对应--> 39 <target name="test"> 40 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> 41 <!-- 命令运行jmeter后,会生成jtl文件,html文件通过获取jtl文件内容展示报告--> 42 <jmeter jmeterhome="$jmeter.home" resultlog="$jmeter.result.jtlName"> 43 <!-- 声明要运行的脚本,可以是一个脚本或者全部脚本,"*.jmx"指包含此目录下的所有jmeter脚本--> 44 <testplans dir="$scriptdir" includes="$test.jmx" /> 45 </jmeter> 46 </target> 47 <!--JMeter脚本执行,name属性值和上面name中标签下的<antcall target="report" /> target值对应--> 48 <target name="report"> 49 <tstamp> 50 <!-- 设置测试报告的日期时间格式,大写HH-24小时,小写hh-12小时--> 51 <format property="report.datetime" pattern="yyyy/MM/dd HH:mm" /> 52 </tstamp> 53 <!-- 将jtl格式转换成html格式报告,及导入样式模板style--> 54 <xslt classpathref="xslt.classpath" 55 force="true" 56 in="$jmeter.result.jtlName" 57 out="$jmeter.result.htmlName" 58 style="$reportdir/jmeter.results.shanhe.me.xsl"> 59 <param name="titleReport" expression="$report.title"/> 60 <!-- param参数是引用style文件中的样式参数--> 61 <param name="dateReport" expression="$report.datetime"/> 62 </xslt> 63 <copy todir="$reportdir"> 64 <fileset dir="$jmeter.home/extras"> 65 <include name="collapse.png" /> 66 <include name="expand.png" /> 67 </fileset> 68 </copy> 69 </target> 70 </project>
6.配置测试报告样式
下载合适的style样式模板
build.xml对应style文件修改
修改jmeter.properties
7.自定义测试报告
在本地创建一个存放report和script的目录:如:F:\\data\\jmeter\\report,F:\\data\\jmeter\\script
把build.xml文件和样式模板文件style都放入该目录下
cmd命令进入report目录后,执行ant.bat -file build.xml -Dtest=脚本文件名(不需要后缀),report目录自动生成jtl和html文件,ant -h查看命令的使用
以上是关于jmeter+ant生成html报告的主要内容,如果未能解决你的问题,请参考以下文章
在 Jmeter 的分布式负载测试中使用 Apache ANT 生成 HTML 报告
ant运行jmeter的html结果与jmeter自运行的聚合报告结果各个参数相差很大