1、Ant的安装与配置
1、下载ant将其解压
2、配置Ant环境变量
3、新建以下环境变量:
4、ANT_HOME:D:\apache-ant\apache-ant-1.9.11,此为你的ANT安装路径
5、在环境变量PATH的最后面添加一下内容:
6、;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除
7、进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了.
2、安装好jemeter
3、用ant生成jemeter报告
1、将jemeter/bin 下的jemeter.properties文档中的第421行 jmeter.save.saveservice.output_format=xml;(jmeter默认保存的是.csv格式的文件),且要将前面的#去掉,不然会报如下错误,如图
2、备份{jemeter_home}/extras下build.xml 文件
3、新建一个buildtest.xml 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<property name="basedirectory" value="D:\jemeter\apache-jmeter-3.3\extras" />
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\jemeter\apache-jmeter-3.3" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${basedirectory}" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${basedirectory}" />
<!-- Name of test (without .jmx) -->
<property name="test" value="Test"/>
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
<testplans dir="${basedirectory}" includes="${test}.jmx" />
</jmeter>
</target>
<target name="report">
<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
<xslt classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
看截图:
1、将上述的build.xml 文件放到上述路径中
2、进入cmd命令行
3、切换到上述放build.xml 文件的路径
4、输入命令ant.bat -file build.xml -Dtest=Test(build.xml 文件的build取名可以自定义,不过存放的名字要和该处输入命令中的名字要对应得上才行,且该处Dtest的值目前是测试通不通,因为改路径下有Test.jmx文件,如果要测试自己写的.jmx 文件的话可以将自己的文件放到该路径下,然后将命令处的名字更改一下即可,且{jemeter_home}\extras下的style 文件jmeter-results-report_21是一个生成HTML的模板)
5、上述会存在的问题是:1)、每次生成的.jtl和.html 文件如果不删除的话,下一次的结果会在上一次的结果上叠加,从而看不出效果2)、每次都要通过cmd命令才能执行3)、所有的东西都放到一个目录下不方便管理