build.html
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir='.'>
<tstamp>
<format property="time" pattern="yyyyMMddhhmm"/>
</tstamp>
<!-- 需要改成自己本地的Jmeter目录 -->
<property name="jmeter.home" value="C:\Program Files\apache-jmeter-4.0"/>
<!-- jmeter生产jtl格式的结果报告路径 -->
<property name="jmeter.result.jtl.dir" value="C:\Program Files\apache-jmeter-4.0\xfdtests\jtl"/>
<!-- jmeter生产html格式的结果报告路径 -->
<property name="jmeter.result.html.dir" value="C:\Program Files\apache-jmeter-4.0\xfdtests\html"/>
<!-- 生成报告的前缀和定义结果集的相关参数 -->
<property name="ReportName" value="TestReport"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl"/>
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html"/>
<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}">
<testplans dir="C:\Program Files\apache-jmeter-4.0\xfdtests" includes="*.jmx"/>
</jmeter>
</target>
<!-- 生成报告 -->
<target name="report">
<xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
</xslt>
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
</project>
常见错误:前言中不允许有内容,解决办法如下
- 在JMeter的bin目录中找到jmeter.properties;
- 将文件中#jmeter.save.saveservice.output_format=csv改为jmeter.save.saveservice.output_format=xml
注意:去掉前面的#号,后面的xml要小写。