簡介:
python 主流自動化測試報告插件有三個:HTMLTestRunner、BeautifulReport 和 Allure。HTMLTestRunner是一個比較古老的報告模板,界面也不是很好看。BeautifulReport 界面很簡潔,看起來也很直觀,是一款比較不錯的報告插件。如果你想提升一下你的level,讓你的自動化測試報告變得高大上,那么請選擇 Allure 。
Allure 是一款輕量級的開源自動化測試報告生成框架。它支持絕大部分測試框架,比如 TestNG、Junit 、pytest、unittest 等。本文主要介紹 pytest 框架結合 Allure 生成 格式統一、美觀的 測試報告。
1.Allure 下載安裝
Allure 下載最新版本:https://github.com/allure-framework/allure2/releases
下載完成之后,解壓到 pytest 目錄中。然后設置環境變量,簡單一點就是進入 \allure-2.13.0\bin 目錄執行 allure.bat 。cmd 輸入 allure 查看環境變量是否設置成功。
2. allure-pytest
下載 allure-pytest 插件,用來生成 Allure 測試報告所需要的數據。
pip3 install allure-pytest
案例分析:
1.編寫一段使用 pytest 框架的測試代碼:
#!/usr/bin/env python # coding=utf-8 import pytest import allure import os @pytest.fixture(scope='function') def login(): print("登錄") yield print("登錄完成") @allure.feature('加入購物車') def test_1(login): '''將蘋果加入購物車''' print("測試用例1") @allure.feature('加入購物車') def test_2(): '''將橘子加入購物車''' print("測試用例2") if __name__ =="__main__": # 執行pytest單元測試,生成 Allure 報告需要的數據存在 /temp 目錄 pytest.main(['--alluredir', './temp']) # 執行命令 allure generate ./temp -o ./report --clean ,生成測試報告 os.system('allure generate ./temp -o ./report --clean')
@allure 裝飾器中的一些功能點:
@allure.feature :用於定義被測試的功能,被測產品的需求點
@allure.story : 用於定義被測功能的用戶場景,即子功能點
@allure.step :用於將一個測試用例,分成幾個步驟在報告中輸出
allure.attach : 用於向測試報告中輸入一些附加的信息,通常是一些測試數據信息
2.執行后生成 Allure 報告:
打開 index.html ,測試報告如下: