ant 是一个将软件编译、测试、部署等步骤联系在一块儿加以自动化的一个工具,大多用于 Java 环境中的软件开发。
在与 Jmeter 生成的 jmx 文件配合使用中,ant 会完成jmx计划的执行和生成jtl文件,并将jtl文件转化为html页面进行查看。
还可与 Jenkins 配合使用。
优势:跨平台、操做简单、维护简单、集成方便。html
依赖
在使用 ant 时请确保已经安装了 java jdk,由于ant的使用须要依赖java环境。
而且须要配置java环境变量。java
进入apache-ant 官网并下载 zip 包。https://ant.apache.org/bindownload.cgiapache
将下载好的 zip 解压。工具
解压后的 bin 目录是 ant 的程序运行入口,若是没用对 ant 进行环境变量的配置,在 bin 目录中运行bat程序,一样能够达到 build 任务目的。测试
ANT环境变量配置ui
为了使用起来方便,对 ant 进行环境变量配置。
在个人电脑 –> 右键属性 –> 高级系统配置 -> 环境变量->系统变量中添加 ant 路径。命令行
新建系统变量 ANT_HOME = C:\apache-ant-1.9.93d
在环境变量PATH的最后面添加一下内容:orm
;%ANT_HOME%\bin 注意前面的分号。xml
校验安装成功
使用 ant -version 对配置进行验证
设置
jmeter默认保存的是.csv格式的文件,因此须要设置 bin/jmeter.properties 文件内容,将 jmeter.save.saveservice.output_format=csv 取消注释,而且将csv修改成xml;
将apache-jmeter-5.1.1\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.9\lib目录下;
这样ant运行时才能找到 "org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" 这个类,从而成功触发JMeter脚本。
新建 build.xml
在存放Jmeter导出的 jmx 目录下,新建build.xml文件,而且编辑内容以下:
在ant运行时会在当前目录下寻找build.xml文件,因此在运行时要确保 build.xml 在当前目录下。
<?xml version="1.0" encoding="utf-8"?> <project name="Ant-Jmeter-Test" default="all" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 须要改为本身本地的 Jmeter 目录--> <property name="jmeter.home" value="F:\yang\apache-jmeter-5.1.1" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="F:\yang\apache-jmeter-5.1.1\report" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="F:\yang\apache-jmeter-5.1.1\report" /> <!-- 生成的报告的前缀 --> <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="all"> <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}"> <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的全部jmeter脚本 --> <testplans dir="F:\yang\apache-jmeter-5.1.1\case" 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" /> <!-- 由于上面生成报告的时候,不会将相关的图片也一块儿拷贝至目标目录,因此,须要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
若是使用上面 build.xml 内容则须要修改四个地方
修改内容以下图
还能够修改报告的名称,以下图标记的地方为测试报告的名称
ant 运行
进入build.xml 所在的目录,在命令行中使用 ant 命令进行运行
进入report的 html 目录下查看生成结果
打开 html 报告
可是时间显示为NaN
须要从Jmeter 的 lib 中将 xalan-2.7.2.jar 和 serializer-2.7.2.jar 两个包 copy到 Ant 的 lib 目录下
从新运行 ant 命令生成报告,结果以下
下载 jmeter.results.shanhe.me.xsl 文件
下载地址: https://pan.baidu.com/s/1MJb3ctyEHS3eWwP_AVZbzg
下载后将文件放在...\apache-jmeter-5.1.1\extras 目录下
修改 build.xml 中 对应 style 的值,替换成下载的文件名,以下图
从新运行 ant 命令生成报告,结果以下
比起上个报告,多了好多参数