一、基本介紹
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