在build.xml中加入
我的build.xml文件
<?xml version="1.0" encoding="utf-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- (1)需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="/usr/tools/apache-jmeter-5.5/apache-jmeter-5.5" />
<!-- (2)jmeter生成jtl格式的结果报告的路径-->
<!-- jmeter生成jtl格式的结果报告的路径, value="D:/standard-catalog/jtl"-->
<!-- jmeter生成html格式的结果报告的路径,value="D:/standard-catalog/html"-->
<property name="jmeter.result.jtl.dir" value="/usr/tools/apache-jmeter-5.5/apache-jmeter-5.5/bin/test/report/jtl" />
<property name="jmeter.result.html.dir" value="/usr/tools/apache-jmeter-5.5/apache-jmeter-5.5/bin/test/report/html" />
<!-- (3)生成的报告的前缀:value-->
<property name="ReportName" value="InterfaceReport"/>
<property name="report.title" value="report"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html"/>
<target name="run">
<antcall target="clear"/>
<antcall target="test"/>
<antcall target="report"/>
</target>
<target name="clear">
<echo message="释放空间,清空jtl和html文件夹中 ..."></echo>
<delete dir="${jmeter.result.html.dir}"/>
<delete dir="${jmeter.result.jtl.dir}"/>
<!-- 删除-->
<!--<delete file="${work.dir}/result/console/*.txt" />-->
<sleep seconds="3"/>
<echo message="释放完成 ..."></echo>
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<!-- (4)声明要运行的脚本。*.jmx 指包含此目录下的所有jmeter脚本,需要改成自己本地的目录-->
<testplans dir="/usr/tools/apache-jmeter-5.5/apache-jmeter-5.5/bin/test" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<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="/usr/tools/apache-jmeter-5.5/apache-jmeter-5.5/extras/jmeter-results-report_21.xsl">
<!--style="/usr/tools/apache-jmeter-5.5/apache-jmeter-5.5/extras/jmeter.results.shanhe.me.xsl">-->
<!--(5)样式目录:/extras/xxx.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>
<path id="lib_classpath">
<fileset dir="${basedir}/">
<include name="mail*.jar"/>
<include name="activation*.jar"/>
<include name="commons-email*.jar"/>
<include name="ant-contrib*.jar"/>
</fileset>
</path>
</project>
html文件夹里面的是每次生成都叫这个html文件,如果执行失败的话还是上次执行过的,而jtl文件里面的每次生成报告对应生成一个时间戳文件名,保留每次的记录,所以我打算只清楚html里面的文件,替换,执行成功