版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiangshangchunjiezi/article/details/91448976
安装集成参考:https://juejin.im/post/5be918f6f265da613a538c59
Ant操作为先在jmeter中写好测试计划,保存为jmx文件,在cmd窗口对应路径下执行ant命令,会完成jmx计划的执行和生成jtl文件,并将jtl文件转化为html页面进行查看。
build.xml(将build.xml与.jmx文件放在同一目录下)
build.xml文件的目的:
- 执行指定目录下的所有jmeter脚本
- 保存脚本执行结果
- 根据执行结果解析成html报告,并保存到指定目录
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<taskdef resource="net/sf/antcontrib/antlib.xml" />
<!-- (1)需要改成自己本地的 Jmeter 目录 -->
<property name="jmeter.home" value="E:\apache-jmeter-5.1.1\apache-jmeter-5.1.1"/>
<property name="report.title" value="report"/>
<!-- (2)jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\jmeter\JmeterTest\resultLog\jtl"/>
<!-- (3)jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\jmeter\JmeterTest\resultLog\html"/>
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="TestReport"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl"/>
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.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}">
<!-- (4)脚本的存放的路径-->
<testplans dir="E:\jmeter_shell" includes="*.jmx"/>
<!--需要在ant中指定jmeter的输出结果为xml格式,
或者修改jmeter的配置文件(jmeter.properties)输出结果为xml-->
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<!-- 计算Min Time、Max Time所需jar包,否则会得到NaN结果
在jmeter-5.1.1中会执行失败
-->
<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}"
<!--<!--报告模板
基本报告模板:jmeter-results-detail-report_21.xsl
-->-->
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>
执行:
①cmd--切换目录到jmx脚本路径下
②命令ant
报错:
BUILD FAILED
Error reading project file E:\jmeter_shell\build.xml: Invalid byte 2 of 2-byte UTF-8 sequence.
解决方法:build.xml编码方式用UTF-8
多次执行,会将之前的执行也会显示,要手动清除jtl下文件