一.ant安装
环境准备:
1.安装jdk
http://www.oracle.com/technetwork/java/javase/downloads/index.html
注意:最好与jmeter绿色版中自带的jdk版本一致,可以把jdk改成jmeter中自带的jdk(修改环境变量JAVA_HOME)
2.下载ant
http://ant.apache.org/bindownload.cgi
配置ant环境变量,这里不说了
输入:ant -v 出现以下,表示安装成功
二.安装遇到的问题
输入 ant -v 后一直报错,如下
Exception in thread “main" java.lang.UnsupportedClassVersionError
后来发现是ant版本太新了,本机不支持1.10.1版本,换了一个1.9.7的版本就好了
三.ant+jmeter实现批量执行jmter脚本
准备:
1.jmeter脚本准备(不说了)
2.新建一个demo,把jmx脚本放进去
3.在demo下新建目录resultLog,log下新建两个子目录html,jtl
4.将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
5.修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml
html:存放生成的html报告
jtl:存放生成的jtl报告
build.xml配置
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project name="ant-jmeter-test" default="run" basedir="."> 3 <taskdef resource="net/sf/antcontrib/antlib.xml" /> 4 <!-- (1)需要改成自己本地的 Jmeter 目录--> 5 <property name="jmeter.home" value="C:\Users\Administrator\Desktop\apache-jmeter-3.0"/> 6 <property name="report.title" value="report"/> 7 <!-- (2)jmeter生成jtl格式的结果报告的路径--> 8 <property name="jmeter.result.jtl.dir" value="C:\Users\Administrator\Desktop\apache-jmeter-3.0\demo\resultLog\jtl"/> 9 <!-- (3)jmeter生成html格式的结果报告的路径--> 10 <property name="jmeter.result.html.dir" value="C:\Users\Administrator\Desktop\apache-jmeter-3.0\demo\resultLog\html"/> 11 <!-- 生成的报告的前缀 --> 12 <property name="ReportName" value="TestReport"/> 13 <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl"/> 14 <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html"/> 15 16 <target name="run"> 17 <antcall target="test"/> 18 <antcall target="report"/> 19 <!--antcall target="mail"/--> 20 </target> 21 <target name="test"> 22 <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> 23 <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> 24 <!-- (4)build.xml的存放的路径--> 25 <testplans dir="C:\Users\Administrator\Desktop\apache-jmeter-3.0\demo" includes="*.jmx"/> 26 <property name="jmeter.save.saveservice.output_format" value="xml"/> 27 </jmeter> 28 </target> 29 <path id="xslt.classpath"> 30 <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> 31 <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> 32 </path> 33 <target name="report"> 34 <tstamp> 35 <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/> 36 </tstamp> 37 <xslt 38 classpathref="xslt.classpath" 39 force="true" 40 in="${jmeter.result.jtlName}" 41 out="${jmeter.result.htmlName}" 42 style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"> 43 <param name="dateReport" expression="${report.datestamp}"/> 44 </xslt> 45 46 <copy todir="${jmeter.result.html.dir}"> 47 <fileset dir="${jmeter.home}/extras"> 48 <include name="collapse.png"/> 49 <include name="expand.png"/> 50 </fileset> 51 </copy> 52 </target> 53 <path id="lib_classpath"> 54 <fileset dir="${basedir}/"> 55 <include name="mail*.jar" /> 56 <include name="activation*.jar" /> 57 <include name="commons-email*.jar" /> 58 <include name="ant-contrib*.jar" /> 59 </fileset> 60 </path> 61 <!--target name="mail"> 62 <for list="hanxm@thunisoft.com" param="tmp" > 63 <sequential> 64 <echo>message @{tmp}</echo> 65 <mail mailhost="smtp.thunisoft.com" mailport="25" ssl="false" subject="ant mail" messagemimetype="text/html" user="zhangjn" password="*******" tolist="@{tmp}"> 66 <from address="zhangjn@thunisoft.com" /> 67 <fileset dir="${jmeter.result.html.dir}"> 68 <include name="*.html" /> 69 <include name="*.png" /> 70 </fileset> 71 <message>支持多人同时发邮件!!<br /><br /></message> 72 </mail> 73 </sequential> 74 </for> 75 </target--> 76 </project>