• jenkins持续集成之邮件配置


    一、配置jar包
    https://pan.baidu.com/s/1e6su8eOYy5GXKxvpet4uxw
    将jar包放置E:apache-ant-1.9.13lib(activation.jar、mail.jar)
    注:自己的本地ant路径

    二、修改build
    build.xml 文件内容如下,copy一份进去,相关地址需要修改

    <?xml version="1.0" encoding="UTF-8"?>

    <project name="ant-jmeter-test" default="run" basedir=".">
    <tstamp>
    <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="F:apache-jmeter-3.0" />
    <!-- 发送给哪些人-->
    <property name="mail_to" value="zxc1012527160@163.com"/>
    <!-- 抄送给哪些人,多个用逗号隔开/-->
    <!--property name="mail_cc" value="++++1@163.com,++++2@163.com"/-->
    <property name="report.title" value="接口测试报告"/>
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="F:apache-jmeter-3.0demo eportjtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="F:apache-jmeter-3.0demo eporthtml" />
    <!-- 生成的报告的前缀-->
    <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" />

    <!--定义次build.xml要执行全部的任务-->
    <target name="run">
    <antcall target="test" />
    <antcall target="report" />
    <antcall target="mail" />
    </target>

    <!--第一个任务,执行test-->
    <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="F:apache-jmeter-3.0demo" includes="*.jmx" />
    <property name="jmeter.save.saveservice.output_format" value="xml"/>
    </jmeter>
    </target>

    <!--引入外部jar包-->
    <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}"
    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>

    <!--将控制台输出到文本中-->
    <record name="${jmeter.result.html.dir}/${ReportName}${time}.txt" loglevel="info" append="no" action="start"/>

    <!--执行第三个任务,发送邮件-->
    <target name="mail">
    <!--读取输出的控制台日志文件并写入邮件正文-->
    <loadfile property="email_content" srcFile="${jmeter.result.html.dir}/${ReportName}${time}.txt" encoding="UTF-8"/>
    <loadfile property="output" srcFile="${jmeter.result.html.dir}/${ReportName}${time}.html" encoding="UTF-8"/>
    <!-- 此处配置SMTP服务器 POP3授权码 发送邮箱地址 端口 发送邮箱主题-->
    <mail tolist="${mail_to}" mailhost="smtp.163.com" mailport="25"
    user="zxc1012527111@163.com" password="Z11321281" subject="jmeter 测试报告${ReportName}${time}"

    messagemimetype="text/html">
    <from address="zxc1012527111@163.com" />

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

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

    </fileset>
    <message>
    这是用Ant自动发送的测试报告
    ${ReportName}${time}
    ${output}
    </message>
    </mail>
    </target>
    </project>

    需要修改的位置

    三、jenkins构建,邮箱查看邮件,附件即为自动生成的报告

  • 相关阅读:
    每日日报2020.9.30 1905
    每日日报2020.10.7 1905
    每日日报2020.10.2 1905
    每日日报2020.9.28 1905
    程序员修炼之道:从小工到专家 九月读书心得 1905
    每日日报2020.9.27 1905
    每日日报2020.9.29 1905
    每日日报2020.10.6 1905
    每日日报2020.10.5 1905
    每日总结2
  • 原文地址:https://www.cnblogs.com/malinalian/p/11386754.html
Copyright © 2020-2023  润新知