Jmeter+ant
1、下载 ant,解压到非中文目录,并配置环境变量,不会的自行 google
2、将 jmeter 中 extras 子目录里的 ant-jmeter-1.1.1.jar 复制到 ant 中的 lib 子目录下
3、修 改 jmeter 中 bin 目 录 下 的 jmeter.properties , 找 到 jmeter.save.saveservice.output_format,去掉前面的#并把值设置为 xml,重启jmeter
4、建如下的脚本目录结构,其中 build.xml 为核心文件
5、最后,在 cmd 窗口中切换到 D:\jmeter_test 目录下(这是我的目录),输入命令 ant, 会在 html 目录下生成报告
build.xml修改如下:
<?xml version="1.0" encoding="utf-8"?>
<project name="apijmeter"default="all"basedir=".">
<tstamp>
<format property="time"pattern="yyyyMMddhhmm" />
</tstamp>
<!-- jmeter中extras路径 -->
<property name="basedirectory"value="/Users/chengyanan/Downloads/apache-jmeter-5.0/extras" />
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home"value="/Users/chengyanan/Downloads/apache-jmeter-5.0" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir"value="/Users/chengyanan/Downloads/apache-jmeter-5.0/apijmeter/results/jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir"value="/Users/chengyanan/Downloads/apache-jmeter-5.0/apijmeter/results/html" />
<!-- 生成的报告的前缀 -->
<property name="ReportName"value="Jmeter测试报告" />
<!-- 生成各种文件-->
<!--<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />-->
<property name="jmeter.result.jtlName"value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<!--<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />-->
<property name="jmeter.result.htmlName"value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib"includes="xalan-2.7.2.jar"/>
<fileset dir="${jmeter.home}/lib"includes="serializer-2.7.2.jar"/>
</path>
<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="/Users/chengyanan/Downloads/apache-jmeter-5.0/apijmeter/scripts"includes="接口层性能测试.jmx" />
</jmeter>
</target>
<!-- jmeter生成的报告模板,在extras里-->
<target name="report">
<tstamp> <format property="report.datestamp"pattern="yyyy/MM/dd HH:mm" /></tstamp>
<xslt in="${jmeter.result.jtlName}"out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" >
<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>
执行ant后,下面的代表完成。