jenkins當中郵件插件:
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效果。