Allure 官方介紹http://allure.qatools.ru/
Allure 生成的報告不僅美觀且方便CI集成
這是項目最后的報告截圖
安裝adapter
pip install pytest-allure-adapter
生成報告
pytest -s -q --alluredir [path_to_report_dir]
這時候就會發(fā)現(xiàn)用例執(zhí)行完成后會在當前目錄下生成了一個report文件
生成report
allure generate report/ -o report/html
最終報告會生成在report/html目錄下
打開index.html即可看報告
定制report
讓生成報告的可讀性更高顽馋,可以用一些api來實現(xiàn)
@allure.step 和 @allure.attach 可以讓生成的報告更直觀(可理解為注釋)
@allure.step在報告中增加步驟顯示
@allure.attach在報告中增加額外的信息:allure.attach(’arg1’,’arg2’,’arg3’):
arg1:是在報告中顯示的名稱
arg2:表示添加的內(nèi)容
arg3:表示添加的類型(支持類型:HTML,JPG,PNG,JSON,OTHER,TEXTXML)
往報告中添加額外的信息
allure.attach(‘this is an attach’,’aaaaa’)
往報告中添加圖片
F= open(‘./b.png’,’rb’).read()
Allure.attach(‘this is a img’,f,allure_type.PNG)
Severity標注bug的嚴重等級,可以針對某個等級執(zhí)行用例幌羞,其他等級都跳過寸谜,也可將等級高的bug優(yōu)先修復(fù)
如果希望只跑critical和blocker這兩個等級的case
在原先命令上加上--allure_severities=critical,blocker參數(shù)
py.test --alluredir report --allure_severities=critical,blocker -s –q
features 和stories 與severity一樣可以將case分類
只執(zhí)行部分 feature/stories 的話,用下面命令
py.test --alluredir report --allure_features=feature1,feature2 --allure_stories=story1,story2
集成Jenkins
安裝插件
jenkins 安裝插件 Allure Jenkins Plugin HTML Publisher plugin
在系統(tǒng)設(shè)置中將JDK / Maven 等其他一些基本配置(建議jdk版本1.8)
在jenkins中添加allure執(zhí)行工具
jenkins添加allure執(zhí)行工具
- 下載 allure執(zhí)行的壓縮文件(allure-commandline.zip)
- 用tomcat搭建一個簡單的服務(wù)器將allure-commandline.zip當作靜態(tài)資源提供下載 (http://localhost:8080/allure-commandline.zip)
- 在jenkins的系統(tǒng)配置—–Allure Commandline —-選擇自動安裝—–選擇解壓zip—-填寫提供下載zip包的url地址
- 填寫其他必填項
-
點擊保存
新建job
在job中添加步驟 Allure report(Results:第一行表示xml文件的路徑;第二行表示生成報告的路徑)
目前job的整個流程:
- 構(gòu)建時属桦,從svn上拉取最新的測試代碼
- 執(zhí)行測試腳本并且生成allure需要xml結(jié)果文件
- 通過Allure report生成測試報告
- 設(shè)置問題追蹤(在Allure Report 下選擇增加:
Key: allure.issues.tracker.pattern Value: http://tracker.company.com/%s)
由于jenkins1.5.2以上版本對插件的安全性做了限制必須要在jenkins 啟動時添加啟動代碼
java
-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"
-Djenkins.model.DirectoryBrowserSupport.CSP="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';"
-jar jenkins.war