深入了解pytest生成allure報告

一、基本介紹

pytest是一個功能強大的Python測試框架,可用於編寫和執行測試用例。而allure是一種靈活、輕量級的測試報告框架,提供了豐富的報告功能,可以生成漂亮、交互式的HTML測試報告。

pytest和allure的結合,為我們提供了一種方便、直觀的方法來管理和呈現測試結果。在本文中,我們將詳細介紹如何使用pytest生成allure報告。

二、安裝與配置

在使用pytest和allure之前,需要先安裝它們。


pip install pytest
pip install allure-pytest

安裝完成後,可以使用如下命令來檢查版本:


pytest --version
allure --version

然後在pytest.ini中添加如下內容:


[pytest]
addopts = --alluredir=./allure-results

這將在文件夾allure-results中存儲測試結果,allure報告將從這裡生成。

三、生成報告

在測試代碼中使用pytest來執行測試用例。執行後,將得到如下結果:


$ pytest --alluredir=./allure-results
======================================= test session starts ========================================
platform linux -- Python 3.6.5, pytest-3.8.0, py-1.5.4, pluggy-0.6.0
rootdir: /home/user/project, inifile:
plugins: allure-pytest-2.5.0
collected 3 items

test_sample.py ...

===================================== 3 passed in 0.72 seconds =====================================

可以看到,測試結果被存儲在文件夾allure-results中。

接下來,我們可以使用如下命令來生成allure報告:


$ allure generate ./allure-results

執行後,在文件夾allure-report中將生成allure報告,包含交互式測試結果、圖表和統計信息。

四、自定義報告

allure提供了許多配置選項,可以自定義報告的樣式和內容。可以在項目文件夾中創建文件allure.json,指定各種配置選項。

例如,以下是一個allure.json文件,定製了報告的標題和logo:


{
    "allure": {
        "title": "自定義報告標題",
        "logo": "logo.png"
    },
    "data": {
        "labels": {
            "suite": {
                "sampletest": "樣例測試"
            }
        }
    }
}

然後,運行如下命令:


$ allure generate ./allure-results --config=./allure.json

生成帶有自定義標題和logo的allure報告。

五、附加信息

可以將附加信息添加到allure報告中,例如詳細的日誌、參數和截圖。

在測試代碼中,可以使用如下命令添加附加信息:


@pytest.mark.parametrize("name, age", [("Tom", 20), ("Jerry", 25)])
def test_sample(name, age):
    with allure.step("輸入姓名"):
        allure.attach("姓名:", name)
    with allure.step("輸入年齡"):
        allure.attach("年齡:", str(age))
    assert age > 18

這將添加參數和步驟信息到測試報告中。

另外,可以使用如下命令添加測試截圖:


allure.attach.file("screenshot.png", attachment_type=allure.attachment_type.PNG)

六、總結

本文介紹了如何使用pytest生成allure報告,並介紹了如何安裝、配置和定製allure報告。另外,我們也了解了如何在報告中添加附加信息和測試截圖,讓報告更加詳細、直觀。

原創文章,作者:USVGH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/363824.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
USVGH的頭像USVGH
上一篇 2025-03-12 18:48
下一篇 2025-03-12 18:48

相關推薦

  • Python爬蟲文檔報告

    本文將從多個方面介紹Python爬蟲文檔的相關內容,包括:爬蟲基礎知識、爬蟲框架及常用庫、爬蟲實戰等。 一、爬蟲基礎知識 1、爬蟲的定義: 爬蟲是一種自動化程序,通過模擬人的行為在…

    編程 2025-04-28
  • Python貪吃蛇遊戲設計報告

    本文將從遊戲設計的目標、實現思路、技術要點、代碼實現等多個方面對Python貪吃蛇遊戲進行詳細闡述。 一、遊戲設計的目標 貪吃蛇是一款經典的遊戲,我們的遊戲設計不僅要實現基本的玩法…

    編程 2025-04-28
  • Python管理系統設計報告

    本文將從系統設計、數據存儲、界面設計、安全性等多個方面,詳細闡述Python管理系統的設計,為讀者提供完整且系統的解決方案。 一、系統設計 Python管理系統的設計需要考慮到系統…

    編程 2025-04-27
  • 深入解析Vue3 defineExpose

    Vue 3在開發過程中引入了新的API `defineExpose`。在以前的版本中,我們經常使用 `$attrs` 和` $listeners` 實現父組件與子組件之間的通信,但…

    編程 2025-04-25
  • 深入理解byte轉int

    一、位元組與比特 在討論byte轉int之前,我們需要了解位元組和比特的概念。位元組是計算機存儲單位的一種,通常表示8個比特(bit),即1位元組=8比特。比特是計算機中最小的數據單位,是…

    編程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什麼是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一個內置小部件,它可以監測數據流(Stream)中數據的變…

    編程 2025-04-25
  • 深入探討OpenCV版本

    OpenCV是一個用於計算機視覺應用程序的開源庫。它是由英特爾公司創建的,現已由Willow Garage管理。OpenCV旨在提供一個易於使用的計算機視覺和機器學習基礎架構,以實…

    編程 2025-04-25
  • 深入了解scala-maven-plugin

    一、簡介 Scala-maven-plugin 是一個創造和管理 Scala 項目的maven插件,它可以自動生成基本項目結構、依賴配置、Scala文件等。使用它可以使我們專註於代…

    編程 2025-04-25
  • Python代碼報告怎麼寫?

    Python作為一種高級編程語言,在很多領域得到了廣泛的應用。而代碼報告,作為一種記錄代碼過程,分享代碼成果的形式,也成為了Python開發和研究中越來越重要的一環。 一、代碼規範…

    編程 2025-04-25
  • 深入了解LaTeX的腳註(latexfootnote)

    一、基本介紹 LaTeX作為一種排版軟件,具有各種各樣的功能,其中腳註(footnote)是一個十分重要的功能之一。在LaTeX中,腳註是用命令latexfootnote來實現的。…

    編程 2025-04-25

發表回復

登錄後才能評論