ant+jmeter

一、前面已配置好 jmeter+java、ant的环境变量

二、

(1)在jmeter下  新建demo文件夹 

(2)demo文件夹下新建report

report下新建个html  作用:用来生成报告的html文件

report下新建个jtl   作用:用来放jmeter的脚本

三:build.xml    放在report下

<?xml version="1.0" encoding="UTF-8"?> <!--编码方式-->
<project name="自定义名称" default="all" basedir="."> <!--路径就是当前路径.-->
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" /> <!--生成报告的时间:自动生成-->
</tstamp>
<property name="encoding" value="UTF-8" /> <!--定义编码方式-->
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:/install/jmeter/apache-jmeter-5.3" />
<property name="report.title" value="自定义报告名称"/> <!--报告名称:可自定义-->
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${jmeter.home}D:/install/jmeter/apache-jmeter-5.3/demo/report/jtl" /> <!--注意格式/-->
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${jmeter.home}D:/install/jmeter/apache-jmeter-5.3/demo/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" />

<target name="all"> <!--固有信息,无需改动-->
<antcall target="test" />
<antcall target="report" />
<antcall target="mail" />
</target>

<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <!--固定语句-->
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!--jmeter的路径,日志路径 -->
<!-- 声明要运行的脚本"*.jmx"指包含此目录下的所有jmeter脚本 -->
<testplans dir="D:/install/jmeter/apache-jmeter-5.3/demo/report/jtl" includes="*.jmx" />

<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>

<path id="xslt.classpath"> <!--需要用到的jar包-->
<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="dateReport" expression="${report.datestamp}"/>
<param name="titleReport" expression="${report.title}:${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>
<property name="mail_from" value="pactera-512@crc.com.hk" /> <!--QQ邮箱需注意存在发放至垃圾邮件-->
<property name="password" value="dhz0707Q" /> <!--QQ邮箱需要用到动态秘钥验证,不推荐使用-->
<!--mail_to:发送列表,多个之间逗号间隔 -->

<property name="mail_to" value="pactera-512@crc.com.hk" />
<property name="mailport" value="25" />
<!--邮箱需要开通smtp服务-->
<property name="mailhost" value="smtp邮件服务器地址" /> <!-- smtp.163.com-->

<target name="mail">

<loadfile property="report" srcFile="${jmeter.result.htmlName}" encoding="${encoding}" />
<mail from="${mail_from}" tolist="${mail_to}" mailport="${mailport}" mailhost="${mailhost}" user="${mail_from}" password="${password}" subject="TestReport-${ant.project.name}" messagemimetype="text/html">
<message>
本轮构建的结果如下:
${report}
</message>
</mail>
<delete file="${jmeter.result.htmlName}" />
</target>
</project>

四:将Jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝到ant安装目录的lib目录下

 

 

五:配置Jmeter.properties文档

打开  文档 然后    jmeter.save.saveservice.output_format=csv   将csv  改成 xml

六:

在CMD中通过cd 命令进入build.xml所在目录  出现成功则等待

 然后再去html里边看结果

 

原文地址:https://www.cnblogs.com/d-h-z/p/14325437.html