簡介:總結怎么使用Jenkins執行自動化測試后發送測試報告郵件
一、系統設置
1、在Jenkins安裝Email Extension Plugin插件,如下圖:

2、設置Extended E-mail Notification
(1)進入“系統管理”-“系統設置”,對Extended E-mail Notification進行配置,主要點開“高級”才能設置smtp,具體參考下圖:

注意:上圖中的Password不是qq密碼,而是在QQ郵箱申請開通IMAP/SMTP服務后收到的密碼。開通IMAP/SMTP服務可參考我的另一篇博客:http://blog.csdn.net/galen2016/article/details/73350606
(2)還是在“系統管理”-“系統設置”頁面,系統管理員地址要設置成和發送郵件的地址一致,不然發送郵件會失敗

3、設置郵件通知
還是在系統管理-系統設置里面設置,內容和Extended E-mail Notification差不多,具體如下圖:

4、Jenkins任務的配置
a、在進入任務的配置頁面,然后在構建后操作模塊增加構建后的操作“Editable Email Notification”,如圖:

b、我的Editable Email Notification配置如下:

c、注意:還要在高級里設置郵件的觸發條件,如下:

d、配置格式參考:
(本郵件是程序自動下發,請勿回復!)
項目名稱: $PROJECT_NAME
Jenkins地址: http://localhost:8080/jenkins
構建編號: $BUILD_NUMBER
構建狀態: $BUILD_STATUS
觸發原因: ${CAUSE}
構建日志地址: ${BUILD_URL}console
構建地址: $BUILD_URL
變更集: ${JELLY_SCRIPT,template=“html”}
e、我的郵件內容如下,可參考
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<h3>以下是Jenkins自動發送的郵件,請勿回復!</h3>
<div>
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<th><br />
<h2>構建信息</h2>
</th>
</tr>
<tr>
<td>
<ul>
<li>項目名稱 : ${PROJECT_NAME}</li><br />
<li>美化的測試報告 : <a href="${PROJECT_URL}TestReport">${PROJECT_URL}TestReport</a></li><br />
<li>觸發原因: ${CAUSE}</li><br />
<li>項目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li><br />
</ul>
</td>
</tr>
</table>
</div>
<div>
<table>
<tr>
<th><br />
<h2>測試報告</h2>
</th>
</tr>
<tr>
<td>
<div>${FILE ,path="C:/Users/lingshu/.jenkins/workspace/BaiduTest/target/surefire-reports/emailable-report.html"}</div>
</td>
</tr>
</table>
</div>
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
注意這行代碼:
作用是引入了testng生成的測試報告,然后在郵件的html里顯示出來。
5、構建完成后發送的郵件如下:

</div>
