jenkins郵件-使用變量定制化html郵件報告


jenkins當中郵件插件:

Email Extension Plugin

jenkins基本使用和郵件配置請參考測試派文章:http://testingpai.com/article/1609225132204

本文着重來講解:

1)在郵件正文當中,引用郵件插件提供的變量

2)自定義郵件正文的html模板。

最終要達到的效果為:

 

第一步:查看Email Extension Plugin提供的可用變量

1)在Job的【構建后操作】中選擇【Editable Email Notification】

 

2) 翻到【Editable Email Notification】的最底部,找到【Content Token Reference】.點最右邊的問號,會顯示所有可用的變量。

 

3)【Content Token Reference】變量說明

3.1)與測試結果有關的變量:

${FAILED_TESTS} : 顯示失敗的用例詳情

${TEST_COUNTS,var="TYPE"}: 顯示用例數量。TYPE分為4個維度:總數(total), 通過(pass), 失敗(fail), 跳過(skip)

比如要顯示用例總數,則使用${TEST_COUNTS,var="total"}

 

3.2)擴展郵件正文的變量:

${FILE, path="PATH"}:path參數的值,為相對於當前job工作空間的相對路徑 。

 

3.3)與本次構建信息有關的變量:

 

3.4)jenkins信息和當前job的信息

 

 

第二步:配置郵件標題/正文時,使用郵件變量

如果想要在郵件標題/正文當中,使用【第一步】當中的變量,

有個前提條件:要生成jenkins郵件插件能解析的測試結果xml文件, 並被jenkins識別到

 

比如java語言測試框架junit,testng在執行用例完成之后,都會生成對應的xml文件,

再比如robotframework框架在執行用例完成之后,也會生成對應的xml文件。

所以這些框架,在jenkins當中展示測試結果的同時,郵件模板也能識別到。

 

python的測試框架pytest,同樣也支持生成xml格式的測試結果文件。

下面,以pytest測試框架和python自動化為案例,配置郵件中使用變量。

第一步:在pytest.main()添加參數:--junitxml=xxxxx.xml

 

 

第二步:在jenkins的job任務的【構建后操作】中,添加【Publish Junit test result report】,配置測試結果xml文件

 

 

第三步:在jenkins的job任務的【構建后操作】中,添加【Editable Email Notification】,使用測試有關的變量。

 

 

第四步:執行任務,發送郵件。郵件正文中即可看到用例數。

 

 

第二步(2):定義郵件正文html模板,html模板中使用變量

在郵件正文當中,我們也可以事先定義好一個html模板,在模板當中使用變量。

然后在郵件的【Default Content】中,引用html文件。

 

仍然以pytest測試框架和python自動化為案例,配置郵件中使用變量。

 

第一步:在pytest.main()添加參數:--junitxml=xxxxx.xml

第二步:在jenkins的job任務的【構建后操作】中,添加【Publish Junit test result report】,配置測試結果xml文件

與上面的保持一致,此處不再復述。

 

第三步:編寫一個html報告模板,並與自動化項目代碼放在一起。

注意:html文件中,不能使用外部css樣式文件,否則郵件正文中無法解析出樣式 。

本文中使用的郵件報告模板如下(test_templates.html):

在郵件模板當中,使用了郵件插件提供的變量。

 

第四步:在jenkins的job任務的【構建后操作】中,添加【Editable Email Notification】,使用html文件。

在【Default Content】當中,使用以下表達式:

${FILE,path="test_templates.html"}

path=相對路徑 相對於當前項目的工作空間

 

 

第五步:執行任務,發送郵件。郵件正文中即可看到對應的html效果。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM