1. 程式人生 > 其它 >Python測試框架pytest(27)測試報告Allure - 清空報告歷史記錄、allure命令

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