前言:由于ant-jmeter目前的版本不支持javamail,也就是說(shuō)發(fā)送郵件時(shí)只能借助jenkins自帶的發(fā)送郵件插件來(lái)發(fā)送報(bào)告。

但是jenkins發(fā)送郵件支持發(fā)送郵件內(nèi)容(且有價(jià)值、有營(yíng)養(yǎng)的內(nèi)容也只能是借用jenkins的宏),不允許上傳附件。

總的來(lái)說(shuō)若借助jenkins自帶的郵件插件來(lái)發(fā)送報(bào)告的話,內(nèi)容空洞、沒(méi)價(jià)值

jenkins自帶的郵件系統(tǒng)配置內(nèi)容如下:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

 

郵件內(nèi)容為:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

從圖種可以看出,發(fā)送一個(gè)報(bào)告的連接,相對(duì)來(lái)說(shuō)不直觀,且如果要保持這個(gè)連接一直有效,那必須要做備份處理?。?/p>

缺點(diǎn)很多,就不一一列舉~

因此這么多缺點(diǎn),是必須要做出優(yōu)化了?。。。。?!

再此,對(duì)ant-jmeter進(jìn)行二次開(kāi)發(fā),讓他支持javamail。

二次開(kāi)發(fā)支持的功能:①支持上傳附件②支持郵件內(nèi)容是以文件的方式輸出

首先反編譯jmeter自帶的ant-jmeter,之后增加2個(gè)類(lèi),

一個(gè)JavaMail類(lèi)(方法實(shí)現(xiàn)),一個(gè)MailTask類(lèi)(方法執(zhí)行)。ps:關(guān)于javamail網(wǎng)上很多材料,現(xiàn)成的的代碼,稍微坐下修改就可以~

JavaMail類(lèi)具體實(shí)現(xiàn):

Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

package org.programmerplanet.ant.taskdefs.jmeter; import java.io.File; import java.io.UnsupportedEncodingException; import java.text.DecimalFormat; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; public class