Python測試框架pytest(27)測試報告Allure - 清空報告歷史記錄、allure命令
1、清空報告歷史記錄
現象:
1、當第一次執行測試用例生成 allure 報告,之後將測試用例名稱修改再次執行,此時報告歷史會顯示歷史執行記錄(包含第一次執行結果)。
2、分開執行2個測試用例,先執行第1個測試用例生成 allure 報告,之後執行第二個測試用例,此時生成的 allure 報告會同時顯示2個測試用例執行記錄(包含第1個測試用例執行結果)。
示例,目錄結構:
示例一(修改測試用例名稱):
1、建立test_allure_case1.py檔案
指令碼程式碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- """ 微信公眾號:AllTests軟體測試""" # 修改前 def test_1(): print("測試用例 test_1") def test_2(): print("測試用例 test_2")
2、輸入命令執行:
pytest test_allure_case1.py --alluredir=./allure
allure serve allure
如圖所示:執行2條測試用例,顯示2條記錄
3、修改test_allure_case1.py檔案
指令碼程式碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- """ 微信公眾號:AllTests軟體測試 """ #修改後 def test_11(): print("測試用例 test_11") def test_22(): print("測試用例 test_22")
4、再次輸入命令執行:
pytest test_allure_case1.py --alluredir=./allure
allure serve allure
如圖所示:執行2條測試用例,但顯示4條記錄(包含修改前的2條記錄)
示例二(分開執行測試用例):
將之前執行測試用例生成的allure報告目錄刪除
1、再次修改test_allure_case1.py檔案
指令碼程式碼:
#!/usr/bin/env python# -*- coding: utf-8 -*- """ 微信公眾號:AllTests軟體測試 """ # 修改前 def test_1(): print("測試用例 test_1") def test_2(): print("測試用例 test_2")
2、建立test_allure_case2.py檔案
指令碼程式碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- """ 微信公眾號:AllTests軟體測試 """ def test_1(): print("測試用例 test_1") def test_2(): print("測試用例 test_2")
3、依次執行test_allure_case1.py、test_allure_case2.py檔案
(1)先執行第1個測試用例test_allure_case1.py pytest test_allure_case1.py --alluredir=./allure (2)再執行第2個測試用例test_allure_case2.py pytest test_allure_case2.py --alluredir=./allure (3)開啟報告服務 allure serve allure
如圖所示:4條測試用例都顯示出來了(包含第1次執行的測試用例記錄)
思考:如果只想顯示最後一次的報告記錄,之前執行的記錄不想顯示,該如何解決呢?
解決辦法:
--clean-alluredir 引數,可以清空 allure 報告生成的目錄。
還是以示例二的指令碼,將之前執行測試用例生成的 allure 報告目錄刪除,依次執行test_allure_case1.py、test_allure_case2.py檔案。
(1)先執行第1個測試用例test_allure_case1.py pytest test_allure_case1.py --alluredir=./allure (2)再執行第2個,此時希望allure報告只有test_allure_case2.py的測試用例記錄 pytest test_allure_case2.py --alluredir=./allure --clean-alluredir (3)開啟報告服務 allure serve allure
如圖所示:只有test_allure_case2.py的測試用例記錄
2、allure命令
檢視 allure 命令幫助文件,命令列輸入 allure -h
語法格式:
allure [options] [command] [command options]
Options:
-
--help
列印命令列幫助。
-
-q, --quiet
切換至安靜模式。
Default: false
-
-v, --verbose
切換至詳細模式。
Default: false
-
--version
列印命令列版本。
Default: false
Commands:
-
generate 生成 allure 報告。
-
serve 啟動 allure 服務,開啟 allure 報告。
-
open 開啟 generate 命令生成的 allure 報告。
-
plugin 使用外掛生成報告。
2.1、命令引數
2.1.1、generate
作用:生成allure報告。
語法格式:
allure generate [options]
options選項:
-
-c, --clean
在生成新的報告之前,刪除 allure 報告目錄。
Default: false
-
--config
allure 命令列配置路徑,如果指定會覆蓋 --profile 和 --configDirectory。
-
--configDirectory
命令列配置目錄,預設使用 ALLURE_HOME 目錄。
-
--profile
命令列配置檔案。
-
-o, --report-dir, --output
生成 allure 報告的目錄,預設:執行命令指定當前目錄下的 allure-report,沒有目錄則自動生成。
Default: allure-report
例如:執行命令生成報告
allure generate -c -o=./allure-report
生成allure-report報告目錄
2.1.2、serve
作用:啟動 allure 服務,開啟 allure 報告。
語法格式:
allure serve [options] allure報告目錄
options選項
-
--config
allure 命令列配置路徑,如果指定會覆蓋 --profile 和 --configDirectory。
-
--configDirectory
命令列配置目錄,預設使用 ALLURE_HOME 目錄。
-
--profile
命令列配置檔案。
-
-h, --host
該 host 將用於啟動報告的 web 伺服器。
-
-p, --port
該 port 將用於啟動報告的 web 伺服器。
Default: 0
例如:執行命令,先用pytest命令指定allure結果目錄,之後再開啟報告。
pytest --alluredir=./allure-report
allure serve ./allure-report
執行完成後,瀏覽器自動開啟報告
2.1.3、open
作用:開啟 generate 命令生成的 allure 報告。
語法格式:
allure open [options]
options選項:
-
-h, --host
該 host 將用於啟動報告的 web 伺服器。
-
-p, --port
該 port 將用於啟動報告的 web 伺服器。
Default: 0
例如:執行命令,先用generate命令生成報告,之後再開啟報告
allure generate -c -o=./allure-report
allure open
執行完成後,瀏覽器自動開啟報告
2.2、開啟報告方式
方式一:allure serve
執行命令,先用pytest命令指定allure結果目錄,之後再開啟報告
pytest --alluredir=./allure
allure serve ./allure
生成的allure報告目錄結構
方式二(推薦):allure generate + allure open
執行命令,先用pytest命令指定allure結果目錄,再用generate命令生成allure的html報告,最後再開啟報告
pytest --alluredir=./allure allure generate -c -o=./allure-report ./allure allure open ./allure-report
生成的allure-report報告目錄結構
優點:
1、目錄結構清晰明瞭
2、直接開啟index.html檔案就可以檢視allure報告
本文來自部落格園,作者:AllTests軟體測試,轉載請註明原文連結:https://www.cnblogs.com/alltests/p/15503754.html