Jmeter5.2.1+ant 生成测试报告

1.下载apache-ant-1.10.8

2.将apache-ant-1.10.8解压至jmeter安装目录下

 

3.配置ant系统环境变量

1.新建系统环境变量ANT_HOME,输入ant的安装目录,如我的安装目录:D:\apache-jmeter-5.2.1\ant\apache-ant-1.10.8

 

 

 

2.新建CLASSPATH系统环境变量,输入ant插件目录,如我的是:D:\apache-jmeter-5.2.1\ant\apache-ant-1.10.8\lib

 

 

 

 

3.在path环境变量后面增加%ANT_HOME%\bin,win7系统环境变量添加的时候好像要在前面增加“;”

 

 

4.打开命令行输入ant -version,如果出现版本好则证明ant环境变量配置成功,反之则需检查环境变量配置

 

4.在ant安装目录下新建添加build.xml文件

 

 

 build.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
        <format property="datestamp" pattern="yyyy-MMdd-HH-mm"/>
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="D:\apache-jmeter-5.2.1"/>
    <!-- 本地项目工程目录-->
    <property name="location" value="D:\apache-jmeter-5.2.1\ant"/>
    <property name="report.title" value="接口测试"/>
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="${location}/report\jtl"/>
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="${location}/report\html"/>
    <!-- jmeter生成csv格式的结果报告的路径-->
    <property name="jmeter.result.csv.dir" value="${location}/report\csv"/>
    <!-- 生成的报告的前缀-->s
    <property name="ReportName" value="API_Test_Report"/>
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${datestamp}.jtl"/>
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${datestamp}.html"/>
    <property name="jmeter.result.csvName" value="${jmeter.result.html.dir}/${ReportName}${datestamp}.csv"/>
    <target name="run">
        <antcall target="test"/>
        <antcall target="report"/>
        <antcall target="sendMail"/>
    </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="D:\apache-jmeter-5.2.1\tests" includes="*.jmx"/>
            <property name="jmeter.save.saveservice.assertion_results" value="run"/>
            <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">
        <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="${report.title}"/>
            <param name="dateReport" expression="${datestamp}"/>
        </xslt>
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png"/>
                <include name="expand.png"/>
            </fileset>
        </copy>
    </target>
    <target name="sendMail">
        <mail 
        mailhost="smtp.qq.com"
        mailport="25" 
        subject="xx系统接口测试情况" 
        user="xxxxxxxx@qq.com" 
        password="邮箱授权码" 
        messageMimeType="text/html">
            <from address="xxxxxx@qq.com"/>
            <to address="xxxxxx@qq.com"/>
            <!-- 发送多人 -->
            <!-- <to address="zzz@qq.com.cn" /> -->
            <!-- 邮件内容 -->
            <message charset="gb2312">接口测试报告</message>
            <!-- 附件 -->
            <attachments>
                <fileset dir="D:\apache-jmeter-5.2.1\ant\report\html">
                    <include name="${ReportName}${datestamp}.html"/>
                    <include name="*.png"/>
                </fileset>
            </attachments>
        </mail>
    </target>
</project>

 

 

5.在ant安装目录下新建report目录,再在report目录下新建html和jtl目录用来存放不同格式的测试报告文件

 

 

6.修改JMeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml

 

 

 7.下载commons-email.jar包,然后放在 ant 的 \lib 目录下,下载activation-1.1.1.jar包,然后放在 ant 的 \lib 目录下,下载javax.mail.jar包,然后放在 ant 的 \lib 目录下

8.打开cmd命令面板,进入jmeter安装目录下ant安装目录,输入ant命令就可自动执行脚本发送邮件

 

posted @ 2020-07-29 17:41  小张的博客  阅读(453)  评论(7编辑  收藏  举报