前言
自動化測試結果都需要有個報告來展示,常用的報告有HTMLTestRunner,pytest-html,Allure。這三種報告各有不同,本文主要介紹如何通過python來生成Alluer報告
Allure
Allu屬於一種開源的測試框架,可以基於多種語言進行使用,如java的junit,python的pytest。alluer生成的報告內容比較美觀,目前測試中常用的測試報告。Allure的環境是基於java環境的,前提條件需要將java的環境安裝完成。(下載JDK,配置環境變量。)
下載地址:https://github.com/allure-framework/allure2
E:\>allure --version 2.13.1
由於我們是通過pytest進行生成alluer報告的,也需要進行安裝alluer在pytest中的第三方插件allure-pytest
安裝插件: pip install allure-pytest
編寫用例
按照pytest的用例格式,編寫幾個測試用例
import pytest class TestCase: def test_01(self): print('---用例01---') assert 1 def test_02(self): print('---用例02---') assert 1 def test_03(self): print('---用例03---') assert 0 if __name__ == '__main__': pytest.main(['-s'])
生成報告
在執行用例的時候,需要輸入一些命令,才能生成allure報告
--alluredir ./report/result # 其中./report/result表示將生成的報告存放目錄
注意:這里通過allure-pytest只是幫助我們將測試結果創建出來,但是無法生成HTML格式且生成的測試數據不會清空,而是以追加的形式。
執行完成上述命令,可以看到在當前目錄中生成了report文件,文件下展示的有一些json文件,這些文件屬於我們執行的測試結果內容。
想要生成對應的測試報告,需要再次在終端中輸入對應命令
方法一:
allure generate 生成測試結果數據 -o 生成報告的路徑 --clean # --clean表示:如果已經存在生成報告路徑文件夾時,再次使用會提示添加--clean參數來重寫 # 如以下編寫用例命令 allure generate report/result/ -o report/html --clean
allure open 生成報告的路徑地址 E:\auto_test\test_01>allure generate report/result/ -o report/html --clean Report successfully generated to report\html # 這樣就會自動打開allure報告信息
方法二:
E:\auto_test\test_01>allure serve report/result Generating report to temp directory... Report successfully generated to C:\Users\HAIYAN~1\AppData\Local\Temp\6715359970756727599\allure-report Starting web server... # 命令中allure serve 表示確定一個allure的服務,后面跟的是報告的路徑內容