1、ant使用的build.xml如下所示:
<?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="D:\tools\apache-jmeter-2.10"/> <!-- jmeter生成jtl格式的结果报告的路径 --> <property name="jmeter.result.jtl.dir" value="D:\tools\apache-jmeter-2.10\AntReport\wk-test\"/> <!-- jmeter生成html格式的结果报告的路径 --> <property name="jmeter.result.html.dir" value="D:\tools\apache-jmeter-2.10\AntReport\wk-test\"/> <!-- 生成报告的前缀 --> <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="init"/> <!-- 调用其他的目标 --> <antcall target="testOneLogin"/> <antcall target="test2NumByTypeAndSample"/> <antcall target="logout"/> <antcall target="report"/> </target> <!-- 定义一个目标,任务名称为ini——将需要的外部文件删除将需要的外部文件删除 --> <target name="init"> <!-- 每次运行前删除之前产生的报告文件 --> <delete > <fileset dir="D:\tools\apache-jmeter-2.10\AntReport\wk-test\" includes="*.doc,*.html,*.jtl,*.xls"/> </delete> </target> <target name="testOneLogin"> <!-- 定义一个任务,任务名称为jmeterA --> <taskdef name="jmeterA" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> <jmeterA jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 声明要运行的脚本 --> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case\" includes="一次登录-suadmin.jmx"/> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeterA> </target> <target name="test2NumByTypeAndSample"> <delete file="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case\submitInfo.txt"/> <!-- 定义一个任务,任务名称为jmeterA --> <taskdef name="jmeterA" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> <jmeterA jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 测试脚本 --> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case01\" includes="新增占号-各占1个.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case04\" includes="业务受理单独提交.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case05\" includes="任务审核批量选择审核.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case06\" includes="批量按样品下达.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case14\" includes="发消息.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case14\" includes="报告归档单独归档.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case\" includes="退出系统.jmx"/> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeterA> </target> <!-- 每个类别各占2个号,占号2个删除,业务受理2个删除 --> <target name="test2NumDelete"> <delete file="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case\submitInfo.txt"/> <!-- 定义一个任务,任务名称为jmeterA --> <taskdef name="jmeterA" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> <jmeterA jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 测试登录接口 --> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case01\" includes="新增占号-各占2个.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case02\" includes="删除2个占号.jmx"/> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case03\" includes="业务受理选中2个删除.jmx"/> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeterA> </target> <target name="logout"> <!-- 定义一个任务,任务名称为jmeterA --> <taskdef name="jmeterA" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> <jmeterA jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 声明要运行的脚本 --> <testplans dir="D:\tools\apache-jmeter-2.10\TestScript\wk-test\case\" includes="退出系统.jmx"/> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeterA> </target> <!-- 自定义的path路径,该路径下包含下面匹配的jar包,下面会用到 --> <path id="xsltA.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar,serializer*.jar"/> </path> <target name="report"> <!-- 这里用到了上面定义的path路径 --> <xslt classpathref="xsltA.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"> <param name="deateReport" expression="${time}"/> <!-- 有没有这句没有什么影响 --> </xslt> <!-- 复制两个图片过来,已经有的就可以不用复制了 --> <!-- <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png"/> <include name="expand.png"/> </fileset> </copy> --> </target> </project>