jmeter批量执行脚本-ant
ANT环境准备
-
下载ant,下载地址:https://ant.apache.org/bindownload.cgi
下载对应的版本,此处用windows为例,下载zip类型的,我们可以看到对jdk的要求,所以我们的jdk版本要满足
-
下载后进行解压缩,并且配置环境变量,此处不做过多赘述
-
打开cmd,运行ant -v 检查ant环境变量是否配置正确
-
将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中
-
修改jmeter.properties中找到jmeter.save.saveservice.output_format=csv并修改为xml
-
配置一个build.xml文件(文件下载见tips:https://www.cnblogs.com/tester-lyj/p/15928163.html)
<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\softs\apache-jmeter-5.4.1" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\softs\apache-jmeter-5.4.1\report\jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\softs\apache-jmeter-5.4.1\report\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" />
<!-- 接收测试报告的邮箱 -->
<property name="mail_to" value="837378256@qq.com" />
<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脚本目录,修改为自己的 -->
<testplans dir="D:\test" 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>
- 运行命令 ant -f build.xml
ant 命令
-f 指定文件
build.xml就是你的哪个文件名字,当然此处应该是一个能访问到的路径
如下图,执行OK
【tips】:此处可能有权限问题,因为我们的报告要创建,可能不存在文件夹,需要创建文件夹,确保运行cmd的用户是有权限创建的
使用管理员身份运行命令
- 运行得到结果,报告在我们指定的目录中生成
-
可以打开查看报告
-
看到上图有NA的时间,需要我们从jmeter的lib下拷贝2个jar报放到ant的lib目录中,2个jar包为:
xalan-2.7.2.jar 和 serializer-2.7.2.jar(按照名字搜,jar包版本可能不一致) -
重新运行命令执行,查看报告,时间就过来啦,至此jmeter+ant批量执行jmx脚本搞定