簡潔好用的Allure Test Report
Test Report是整個自動化測試的靈魂
老闆和客戶不會知道你的測試架構設計的有多完美
他們第一眼看到的是你的Test report能提供多少資訊來判斷測試結果和解決問題

一個好的測試報告
能讓我們清楚地了解目前軟體的品質狀況重要資訊包括:
- 統計Pass,fail,broken rate
- Error or Failure 資訊
- 錯誤log或截圖
- 清楚的分類Test case
- 清楚的結構,方便瀏覽
- 記錄執行的步驟與時間


Allure Framework
Allure是一個輕量級,靈活,支援多語言與多平台的測試框架優點:
- 美觀清楚的內容
- 使用Tag,開發方便 (就像便利貼一樣)
- 可以放上不同類型檔案到report
- 連結url link
- 結合BDD語法 (Feature, Story)
- 顯示完整每個case執行Timeline
- 搭配CI/CD工具使用
- 無法整合成單一個Test report file
- Test report佔用空間較大
運作原理
第一步: 測試執行中會使用adapter library將過程存在xml檔案中第二部: 測試完成後會用report generator tool將xml轉換成HTML格式report
產生的Test report可以在本地端開啟也能整合到Jenkins上顯示
環境安裝設定
- 安装 pytest-allure-adaptor
pip3 install pytest-allure-adaptor
- 要產生好看的報告,首先要安裝 formulas
brew tap qatools/formulas
- 接著安裝Allure Command Tool
brew install allure-commandline
使用方式
Pytest目前只能用Allure 1.4.x版本Allure跟Pytest的搭配很簡單
只要在 程式片段中指定各種tag
- 在python script import Allure package
import allure
- 將Test case區細分成多個步驟
with pytest.allure.step('Click Start button'):
或
@pytest.allure.step
def make_test_data_foo(): - 加上Attachment
allure.attach('screenshot', driver.get_screenshot_as_png(), type=AttachmentType.PNG)
- 加上BDD
@allure.feature('Feature1')
@allure.story('Story1') - 加上Severity
@pytest.allure.severity(pytest.allure.severity_level.CRITICAL)
- 加上環境參數
allure.environment(Device='Oppo A39', Version='Android 5.1', Type='Sanity')
執行並產生report
- 執行測試時在pytest後面加上這段參數
py.test --alluredir report
- 測試結束後輸入指令
allure generate report/ -o report/html
- 打開html目錄, 從瀏覽器執行 index.html
如何把report帶著走
大家看到這裡應該會有個疑問如果我想把report帶到其他電腦怎麼打開?
我找到的做法是:
- 把整個report folder複製起來
- 另外一台電腦要安裝allure command line tool
- Terminal指到report目錄下
- 輸入指令
allure report open --report-dir ./html

- 會啟動瀏覽器開啟test report
Reference:
- Source: Allure Framework官方文件
- Source: 移动端自动化测试系列之三——Allure测试报告
Mod APK offers an exciting way for users to enjoy mobile apps with extra features and greater flexibility. I really like exploring a mod apk game
ReplyDeletebecause it can bring new experiences and make gameplay more interesting. These modified versions provide more options for entertainment and customization. For anyone who wants to discover different features and enjoy mobile gaming in a unique way, Mod APK is a great choice to explore.