CentOS:Jmeter5.2.1+Ant1.10.12+jmeter-results-detail-report_21.xsl(亲测可用)

jmeter+ant

安装ant

1、下载地址:https://ant.apache.org/bindownload.cgi
2、解压并剪切到固定目录

tar -zxvf apache-ant-1.10.12-bin.tar.gz
mv apache-ant-1.10.12 /usr/local/

3、配置环境变量vim /etc/profile

#配置ant环境
export ANT_HOME=/usr/local/apache-ant-1.10.12
export PATH=$PATH:$ANT_HOME/bin:$ANT_HOME/lib

4、环境变量生效

source /etc/profile

5、验证

ant -v

6、jmeter目录下创建entry_name文件夹(测试项目存放路径)

cd /usr/local/apache-jmeter-5.2.1
mkdir entry_name

7、在entry_name目录下面,创建build.xml文件,文件编码格式必须是UTF-8
jmeter-results-detail-report_21.xsl模板用下面这个build.xml文件

<?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="jmeterPath" value="/usr/local/apache-jmeter-5.2.1"/>
    <!-- jmeter脚本路径 -->
    <property name="scriptsPath" value="${jmeterPath}/entry_name/jmeter_scripts"/>
    <!-- jmeter测试报告路径 -->
    <property name="reportPath" value="${jmeterPath}/entry_name/report"/>
    <!-- email配置信息 -->
    <property name="mail_host" value="smtp.126.com"/>
    <property name="mail_port" value="465"/>
    <!-- email发送账户密码 -->
    <property name="username" value="wuyxxxxxx8@126.com"/>
    <property name="password" value="KWHCXXXXXXXMTQCZ"/>
    <property name="mail_from" value="wuyxxxxxx8@126.com"/>
    <!-- mail_to:接收邮件列表,多个用逗号隔开 -->
    <property name="mail_to" value="396xxxx96@qq.com,2934xxxx02@qq.com"/>
    <property name="report.title" value="Jmeter接口自动化测试报告"/>

    <tstamp><format property="time" pattern="yyyyMMddHHmm" /></tstamp>

    <property name="jmeter.home" value="${jmeterPath}"/>
    <!-- (2)jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="${reportPath}/resultLog/jtl"/>
    <!-- (3)jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="${reportPath}/resultLog/html"/>
    <property name="mailsubject" value="Jmeter接口自动化测试报告"/>
    <property name="message" value="今日接口测试任务已执行完毕,详情请查看附件!!!"/>
    <!-- 生成的报告的前缀 -->
    <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="run"> 
        <antcall target="test"/>
        <antcall target="report"/>
        <antcall  target="mail"/>
    </target>
    <target name="test"> 
        <echo>执行接口自动化测试用例</echo>
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> 
            <!-- (4)build.xml的存放的路径-->
            <testplans dir="${scriptsPath}" includes="*.jmx"/>
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter> 
    </target>
    <path id="xslt.classpath"> 
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path>
    <target name="report">
        <echo>生成接口自动化测试报告</echo>
        <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="titleReport" expression="${mailsubject}${time}"/> 
            <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>
    <!-- path id="lib_classpath">
        <fileset dir="${basedir}/">
            <include name="mail*.jar" />
            <include name="activation*.jar" />
            <include name="commons-email*.jar" />
            <include name="ant-contrib*.jar" />
        </fileset>
    </path -->
    <target name="mail">
        <echo>发送测试报告</echo> 
            <mail mailhost="${mail_host}"
                  mailport="${mail_port}"
                  ssl="true"
                  subject="${mailsubject}"
                  messagemimetype="text/html"
                  user="${username}"
                  password="${password}"
                  tolist="${mail_to}">
                <from address="${mail_from}"/>
                <fileset dir="${jmeter.result.html.dir}">
                   <include name="${ReportName}${time}.html"/>
                   <include name="*.png" />
                  </fileset>
                <message>${message}</message>
            </mail>
    </target>
</project>

8、测试项目目录下创建jmeter_scripts文件夹(脚本存放路径)

cd /usr/local/apache-jmeter-5.2.1/entry_name
mkdir jmeter_scripts

将jmeter脚本放在这个目录下面,没有脚本会报错

9、测试项目目录下创建report文件夹(测试报告存放路径)

cd /usr/local/apache-jmeter-5.2.1/entry_name
mkdir report

10、将jmeter的extras目录下ant-jmeter-1.1.1.jar复制到ant的lib目录下

cd /usr/local/apache-jmeter-5.2.1/extras/
cp ant-jmeter-1.1.1.jar /usr/local/apache-ant-1.10.12/lib/

11、修改jmeter的bin目录下jmeter.properties文件
vim jmeter.properties

jmeter.save.saveservice.output_format=xml

12、下载email相关jar包,并将这三个jar包复制到ant的lib目录下
点击下载,commons-email-1.5.jar
点击下载,activation-1.1.1.jar
点击下载,javax.mail.jar

三个jar包一起下载

13、在build.xml目录,执行

cd /usr/local/apache-jmeter-5.2.1/entry_name
ant
或者
ant -buildfile build.xml

14、查看执行结果及邮件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值