Jmeter+ant批量运行脚本,ant配置说明

xiaoxiao2021-02-28  73

一.环境配置:

1.需要安装JDK1.6以上版本:http://www.oracle.com/technetwork/java/javase/downloads/index.html

 验证是否安装成功:开始→运行→输入cmd,回车→在命令中输入java -version,出现如下信息则表示安装成功

2.ant下载:http://ant.apache.org/bindownload.cgi

 验证是否安装成功:开始→运行→输入cmd,回车→在命令中输入ant -v,出现如下信息则表示安装成功

3.将jmeter中extras目录中的ant-jmeter-1.1.1.jar文件拷贝至ant安装目录下的lib目录中

4.修改jmeter目录下bin目录中的jmeter.properties文件的配置,将jmeter.save.saveservice.output_format=csv前面添加“#”,屏蔽它,在其下面一行添加  jmeter.save.saveservice.output_format=xml  配置,如下图所示:

5.建立build.xml文件(我是在eclipse里面建立的,也可以使用txt文本,EditPlus等工具进行建立),注意,在网上拷贝的很多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:\apache-jmeter-3.2"/>     <property name="report.title" value="apitest"/>

<!--生成jtl报告的路径-->

<property name="jmeter.result.jtl.dir" value="E:\auto_jmeter\Jmeter_Results\jtl"/>

<!--生成html报告的路径--> <property name="jmeter.result.html.dir" value="E:\auto_jmeter\Jmeter_Results\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}">

<!--声明要运行的jmeter脚本的路径,*.jmx指所有后缀名为.jmx的jmeter脚本--> <testplans dir="E:\auto_jmeter\Jmeter_Script" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <!--有好多网上build.xml文件中没有这部分,但是如果不添加就不会显示报告日期和运行的时间(MAX和MIN列)-->     <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="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">             <param name="showData" expression="${show-data}"/>             <param name="titleReport" expression="${report.title}"/>             <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>

6.开始运行脚本

命令中输入build.xml文件所在的路径,

cmd→e: 回车,进入所在盘符;

E:\cd   跟着要进入的文件夹 ,如图所示:

7.输入ant  或 ant run(run为build.xml中的task的名字),执行结果如下:

8.查看报告信息

常见问题:

运行时提示:the <jmeter> type doesn't support nested text data   

这是因为build.xml文件的编码格式有问题,记住一定要把里面的汉字全部删除,或者设置编码格式与系统一致。

转载请注明原文地址: https://www.6miu.com/read-75943.html

最新回复(0)