Ant与jmeter的集成

一、ant的环境配置

1.下载地址:

http://ant.apache.org/bindownload.cgi

得到的是一个apache-ant-1.10.1-bin.zip的压缩包。将其解压到你的硬盘上,例如:C:\apache-ant-1.10.1。

2.配置环境变量

window中设置ant环境变量:

ANT_HOME    D:\Program Files\apache-ant-1.10.1

path             D:\Program Files\apache-ant-1.10.1\bin

classpath      D:\Program Files\apache-ant-1.10.1\lib

3.验证ant安装成功(如果验证不通过,请按前面步骤检查)

依次:开始->运行->cmd,输入如下命令:ant

  如果出现如下内容,说明安装成功:


 查看版本:ant  -version

 二、打开jmeter的extras目录D:\jmeter5.2\apache-jmeter-5.2.1\extras下找到ant-jmeter-1.1.1.jar把它copy到ant的D:\Program Files\apache-ant-1.10.1\lib下并替换



三、打开jmeter的bin目录下的jmeter.properties文件,做如下修改:

  把jmeter.save.saveservice.output_format=csv修改为jmeter.save.saveservice.output_format=xml

 四.在D:\jmeter5.2\apache-jmeter-5.2.1目录下创建TestSuite文件夹,将build.xml文件放得该文件夹下面,修改build.xml文件

<?xml version="1.0" encoding="UTF8"?>

<project name="ant-jmeter-test" default="run" basedir=".">

<property name="jmeterPath" value="D:\jmeter5.2\apache-jmeter-5.2.1"/>  <!--jmeter的路径-->

<property name="mailhost" value="smtp.qq.com"/>  <!--邮箱的host-->

<property name="username" value="1643250677@qq.com"/>  <!--发送邮件的地址-->

<property name="password" value="mdlprivdzdncdhhj"/>  <!--发送邮箱密码-->

<property name="mailfrom" value="1643250677@qq.com"/>  <!--发送邮箱的账号-->

<property name="mail_to" value="1009516428@qq.com"/>  <!--收件箱地址-->

<property name="mailsubject" value="测试报告"/>  <!--邮件主题-->

<property name="mail_port" value="25"/>  <!--发送邮箱端口,默认25-->

<property name="message" value="Hi!请查收下,这是接口测试报告,如有任何疑问,请联系我,谢谢!"/>  <!--邮件内容-->

<tstamp>

    <format property="time" pattern="yyyyMMddhhmm" />  <!--生成测试报告的年月日-->

</tstamp>

<property name="jmeter.home" value="${jmeterPath}" />

<property name="jmeter.result.jtl.dir" value="${jmeterPath}\TestSuite\report\jtl" />  <!--创建jtl文件夹放置jtl性能测试报告-->

<property name="jmeter.result.html.dir" value="${jmeterPath}\TestSuite\report\html" />  <!--创建HTML文件夹放置HTML性能测试报告-->

<property name="htmlReportNameSummary" value="TestReport" />

<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${htmlReportNameSummary}${time}.jtl" />  <!--生成报告的文件名称-->

<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.html" />  <!--生成报告的文件名称-->

<target name="run"> 

    <antcall target="test" /> 

    <antcall target="report" /> 

    <antcall target="sendEmail" /> 

</target>

<!--执行接口测试-->

<target name="test">

    <echo>执行接口自动化测试用例</echo>

    <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />

    <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">

        <!--要执行的测试脚本-->

        <testplans dir="${jmeterPath}\TestSuite\script" includes="jy.jmx" />  <!--执行文件名-->

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

    </jmeter>

</target>

<!--解决报告中NAN字段显示问题-->

<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>

<!--生成HTML测试报告-->

<target name="report">

<echo>生成接口自动化测试报告</echo>

    <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="titleReport" expression="${ReportName}${time}"/>-->

          <!--<param name="dateReport" expression="${ReportName}${time}"/>-->

    <!--复制图片-->

    <copy todir="${jmeter.result.html.dir}">

        <fileset dir="${jmeter.home}/extras">

            <include name="collapse.png" />

            <include name="expand.png" />

        </fileset>

    </copy>

</target>

<!--自动发送邮件-->

<target name="sendEmail">

<echo>发送自动化测试报告</echo>

    <mail mailhost="${mailhost}"

        ssl="ture"

        user="${username}"

        password="${password}"

        mailport="${mail_port}"

        subject="${mailsubject}"

        messagemimetype="text/html"

        tolist="${mail_to}">

    <from address="${mailfrom}" />

          <attachments>

          <!--${jmeter.home}/TestCase/report/html/-->

                <fileset dir="${jmeter.result.html.dir}">

                        <include name="${htmlReportNameSummary}${time}.html"/>

                        <include name="collapse.png" />

                        <include name="expand.png" />

                </fileset>

          </attachments>

          <message>

          ${message}

          </message>

    </mail>

</target>

</project>

通过build文件能够做的事情:A、执行测试脚本;B、生成测试报告(html);C、自动发送邮件


五、运行脚本,cmd 进入D:\jmeter5.2\apache-jmeter-5.2.1\TestSuite下执行ant 即可





转载:https://www.cnblogs.com/ymlpk/p/13531103.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容