首先,要确保测试服务器上有java,ant,jmter
安装此处就不阐述了, 下面现在说一下通过ant生成jmter测试结果报告;
1.首先需要将jmter目录下extras目录中的ant-jmeter-1.1.1.jar 拷贝到ant 目录下lib文件夹中
2.然后进入jmter目录下extras目录中, 执行ant命令, 测试下看是否能够生成test.jtl和test.html
3.ant是通过build.xml来生成测试结果报告的,而build.xml中配置的都是一些脚本信息,如测试脚本路径,测试报告生成路径
备注:Xml文件要转化为html文件,需要编写xsl文件,实际上,jmeter已经自带了xsl文件,如果你不想自己定义格式的话,可以直接使用自带的格式,这样可以省不少事情。这些文件的位置位于jmeter的extras文件夹下,只需要简单修改一些文件路径配置就可以正常使用。
4.build.xml代码配置如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project name="ant-jmeter-test" default="run" basedir="."> 3 <tstamp> 4 <format property="time" pattern="yyyyMMddhhmm" /> 5 </tstamp> 6 <!-- 需要改成自己本地的 Jmeter 目录--> 7 <property name="jmeter.home" value="C:softapache-jmeter-2.11" /> 8 <!-- jmeter生成jtl格式的结果报告的路径--> 9 <property name="jmeter.result.jtl.dir" value="C:softjmter esultLogjtl" /> 10 <!-- jmeter生成html格式的结果报告的路径--> 11 <property name="jmeter.result.html.dir" value="C:softjmter esultLoghtml" /> 12 <!-- 生成的报告的前缀--> 13 <property name="ReportName" value="TestReport" /> 14 <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> 15 <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> 16 <target name="run"> 17 <antcall target="test" /> 18 <antcall target="report" /> 19 </target> 20 <target name="test"> 21 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> 22 <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> 23 <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--> 24 <testplans dir="C:soft estpath" includes="*.jmx" /> 25 <property name="jmeter.save.saveservice.output_format" value="xml"/> 26 </jmeter> 27 </target> 28 <path id="xslt.classpath"> 29 <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> 30 <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> 31 </path> 32 33 34 <target name="report"> 35 <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> 36 <xslt 37 classpathref="xslt.classpath" 38 force="true" 39 in="${jmeter.result.jtlName}" 40 out="${jmeter.result.htmlName}" 41 style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"> 42 <param name="dateReport" expression="${report.datestamp}"/> 43 </xslt> 44 <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> 45 <copy todir="${jmeter.result.html.dir}"> 46 <fileset dir="${jmeter.home}/extras"> 47 <include name="collapse.png" /> 48 <include name="expand.png" /> 49 </fileset> 50 </copy> 51 </target> 52 </project>
5.运行脚本:
cmd进入脚本目录,然后执行ant build.xml,生成测试结果报告,
测试结果报告输出目录:
C:softjmter
esultLoghtml:
测试结果报告如下:
其中需要主要关注的就是build.xml中的一些配置信息,如测试报告的路径, 以及转换过程中需要用到的文件路径。
遇到的问题:
如果测试报告中生成的时间为N/A, 参考以下url:
参考:http://www.cnblogs.com/puresoul/p/4808416.html
参考:http://www.cnblogs.com/puresoul/p/5053035.html