1. 程式人生 > >jmeter+ant+jenkins自動化構建成功自動傳送郵件

jmeter+ant+jenkins自動化構建成功自動傳送郵件

二、修改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="[email protected]"/> <!-- 抄送給哪些人,多個用逗號隔開/--> <!--property name="mail_cc" value="[email protected],[email protected]"/--> <property name="report.title"
value="介面測試報告"/>
<!-- jmeter生成jtl格式的結果報告的路徑--> <property name="jmeter.result.jtl.dir" value="F:\apache-jmeter-3.0\demo\report\jtl" /> <!-- jmeter生成html格式的結果報告的路徑--> <property name="jmeter.result.html.dir" value="F:\apache-jmeter-3.0\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" /> <!--定義次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.0\demo" 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="[email protected]" password="Zxc321181" subject="jmeter 測試報告${ReportName}${time}" messagemimetype="text/html"> <from address="[email protected]" /> <fileset dir="${jmeter.result.html.dir}"> <include name="${ReportName}${time}.html"/> </fileset> <message> 這是用Ant自動傳送的測試報告 ${ReportName}${time} ${output} </message> </mail> </target> </project>

需要修改的位置
這裡寫圖片描述
這裡寫圖片描述

三、jenkins構建,郵箱檢視郵件
這裡寫圖片描述