Pytest?Allure的安裝與應(yīng)用教程詳解
Allure 簡(jiǎn)介與安裝

Allure 是由 Java 語(yǔ)?開(kāi)發(fā)的?個(gè)輕量級(jí),靈活的測(cè)試報(bào)告?具。
Allure 多平臺(tái)的 Report 框架。
Allure ?持多語(yǔ)?,包括 python、JaveScript、PHP、Ruby 等。
可以為開(kāi)發(fā)/測(cè)試/管理等人員提供詳盡的的測(cè)試報(bào)告,包括測(cè)試類(lèi)別、測(cè)試步驟、日志、圖片、視頻等。
可以為管理層提供高水準(zhǔn)的統(tǒng)計(jì)報(bào)告。
可以集成到 Jenkins 生成在線的趨勢(shì)匯總報(bào)告。
安裝步驟:
- 安裝 Java,環(huán)境變量配置教程。
- 安裝 Allure 環(huán)境變量配置教程
- 安裝插件:pip install allure-pytest。
環(huán)境驗(yàn)證:allure -- version
Allure 用法
| 方法名 | 方法參數(shù) | 參數(shù)說(shuō)明 |
|---|---|---|
| @allure.epic() | epic 描述 | 敏捷里面的概念,定義史詩(shī),往下是 feature |
| @allure.feature() | 模塊名稱 | 功能點(diǎn)的描述,往下是 story |
| @allure.story() | 用戶故事 | 用戶故事,往下是 title |
| @allure.title(用例的標(biāo)題) | 用例的標(biāo)題 | 重命名 html 報(bào)告名稱 |
| @allure.step() | 操作步驟 | 測(cè)試用例的步驟 |
| @allure.testcase() | 測(cè)試用例的鏈接地址 | 對(duì)應(yīng)功能測(cè)試用例系統(tǒng)里面的 case |
| @allure.issue() | 缺陷 | 對(duì)應(yīng)缺陷管理系統(tǒng)里面的鏈接 |
| @allure.description() | 用例描述 | 測(cè)試用例的描述 |
| @allure.severity() | 用例等級(jí) | blocker,critical,normal,minor,trivial |
| @allure.link() | 鏈接 | 定義一個(gè)鏈接,在測(cè)試報(bào)告展現(xiàn) |
| @allure.attachment() | 附件 | 報(bào)告添加附件 |
Allure 報(bào)告生成

Allure 命令行語(yǔ)法格式如下:
allure[option] [command] [commandoptions]
生成報(bào)告的兩種方式
方式一:在線報(bào)告,會(huì)直接打開(kāi)默認(rèn)瀏覽器展示當(dāng)前報(bào)告。
# 方式一:測(cè)試完成后查看實(shí)際報(bào)告,在線查看報(bào)告,會(huì)直接打開(kāi)默認(rèn)瀏覽器展示當(dāng)前報(bào)告。 allureserve./result/(注意這里的serve書(shū)寫(xiě)) # Java allureservetarget/allure-results(注意這里的serve書(shū)寫(xiě))
方式二:應(yīng)用場(chǎng)景:如果希望隨時(shí)打開(kāi)報(bào)告,可以生成一個(gè)靜態(tài)資源文件報(bào)告,將這個(gè)報(bào)告布署到 web 服務(wù)器上,啟動(dòng) web 服務(wù),即可隨時(shí)隨地打開(kāi)報(bào)告。
解決方案:使用allure generate 生成帶有 index.html 的結(jié)果報(bào)告。這種方式需要兩個(gè)步驟:
第一步:生成報(bào)告。
第二步:打開(kāi)報(bào)告。 # 生成報(bào)告 allure generate ./result (allure結(jié)果) # 打開(kāi)報(bào)告 allure open ./report/ (報(bào)告位置)
Allure 添加用例標(biāo)題、步驟
用例標(biāo)題
通過(guò)使用裝飾器 @allure.title 可以為測(cè)試用例自定義一個(gè)可閱讀性的標(biāo)題。
allure.title 的三種使用方式:
- 直接使用 @allure.title 為測(cè)試用例自定義標(biāo)題。
- @allure.title 支持通過(guò)占位符的方式傳遞參數(shù),可以實(shí)現(xiàn)測(cè)試用例標(biāo)題參數(shù)化,動(dòng)態(tài)生成測(cè)試用例標(biāo)題。
- allure.dynamic.title 動(dòng)態(tài)更新測(cè)試用例標(biāo)題。
# 方式一:
@allure.title("自定義標(biāo)題")
def test_title():
assert True
# 方式二:通過(guò)占位符的方式傳遞參數(shù),可以實(shí)現(xiàn)測(cè)試用例標(biāo)題參數(shù)化,動(dòng)態(tài)生成測(cè)試用例標(biāo)題。
@allure.title("參數(shù)化用例標(biāo)題:參數(shù)一:{param1} ,參數(shù)二:{param2}")
@pytest.mark.parametrize("param1, param2, expected", [
(1, 1, 2),
(0.1, 0.3, 0.4)
])
def test_with_parametrize_title(param1, param2, expected):
assert param1 + param2 == expected
# 方式三:動(dòng)態(tài)更新測(cè)試用例標(biāo)題。
@allure.title("原始標(biāo)題")
def test_with_dynamic_title():
assert True
allure.dynamic.title("更改后的新標(biāo)題")
用例步驟
Allure 支持兩種方法:
方法一:使用裝飾器定義一個(gè)測(cè)試步驟,在測(cè)試用例中使用。
方法二:使用 with allure.step() 添加測(cè)試步驟。
Allure 添加圖片
應(yīng)用場(chǎng)景:在做 UI 自動(dòng)化測(cè)試時(shí),可以將頁(yè)面截圖,或者出錯(cuò)的頁(yè)面進(jìn)行截圖,將截圖添加到測(cè)試報(bào)告中展示,輔助定位問(wèn)題。
解決方案:使用以下兩種方式添加圖片。
allure.attach.file 方法
語(yǔ)法:allure.attach.file(source, name, attachment_type, extension),
參數(shù)解釋:- source:文件路徑,相當(dāng)于傳一個(gè)文件。
- name:附件名字。
- attachment_type:附件類(lèi)型,是 allure.attachment_type 其中的一種(支持 PNG、JPG、BMP、GIF 等)。
- extension:附件的擴(kuò)展名。
class TestWithAttach:
def test_pic(self):
allure.attach.file("pic.png",
name="圖片",
attachment_type=allure.attachment_type.PNG,
extension="png")
allure.attach 方法
語(yǔ)法:allure.attach(body, name=None, attachment_type=None, extension=None):,
參數(shù)解釋:
body:要寫(xiě)入附件的內(nèi)容
- name:附件名字。
- attachment_type:附件類(lèi)型,是 allure.attachment_type 其中的一種(支持 PNG、JPG、BMP、GIF 等)。
- extension:附件的擴(kuò)展名。
class TestWithAttach:
def test_pic2(self):
with open("./img/logo.png",mode="rb") as f :
file = f.read()
allure.attach(file,"頁(yè)面截圖",allure.attachment_type.PNG)
Allure 添加日志
日志展示在 Test body 標(biāo)簽下,標(biāo)簽下可展示多個(gè)子標(biāo)簽代表不同的日志輸出渠道:
log 子標(biāo)簽:展示日志信息。
stdout 子標(biāo)簽:展示 print 信息。
stderr 子標(biāo)簽:展示終端輸出的信息。
禁用日志,可以使用命令行參數(shù)控制 --allure-no-capture
總結(jié)
添加商品測(cè)試用例設(shè)計(jì)、用例編寫(xiě)和斷言
Allure 測(cè)試報(bào)告定制
到此這篇關(guān)于Pytest Allure的安裝與應(yīng)用教程詳解的文章就介紹到這了,更多相關(guān)Pytest Allure內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)數(shù)據(jù)可視化超詳細(xì)講解
Python的數(shù)據(jù)可視化是將數(shù)據(jù)以圖形或圖表的形式呈現(xiàn),使復(fù)雜的信息更易于理解和分析,本文給大家詳細(xì)介紹了python數(shù)據(jù)可視化的實(shí)現(xiàn),文中通過(guò)圖文結(jié)合的方式介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Python實(shí)現(xiàn)爆破ZIP文件(支持純數(shù)字,數(shù)字+字母,密碼本)
這篇文章主要為大家分享了如何利用Python實(shí)現(xiàn)破解zip文件的密碼,能實(shí)現(xiàn)破解純數(shù)字、數(shù)字+字母、密碼本等種類(lèi)的密碼,需要的可以參考一下2022-03-03
Python腳本實(shí)現(xiàn)一鍵自動(dòng)整理辦公文件
這篇文章主要介紹了Python實(shí)現(xiàn)腳本一鍵自動(dòng)整理辦公文件,文件下載文件夾就變得亂七八糟,整理的時(shí)候非常痛苦,巴不得有一個(gè)自動(dòng)化的工具幫我歸類(lèi)文檔。下面小編就給大家分享自動(dòng)化整理文件的小技巧,需要的朋友可以參考一下文章內(nèi)容2022-02-02
Python的Django框架中settings文件的部署建議
這篇文章主要介紹了Python的Django框架中settings文件的部署建議,包括對(duì)local_settings的弊病的一些簡(jiǎn)單分析,需要的朋友可以參考下2015-05-05
pandas讀取數(shù)據(jù)集的實(shí)現(xiàn)示例
本文主要介紹了pandas讀取數(shù)據(jù)集的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2026-01-01
pyttsx3實(shí)現(xiàn)中文文字轉(zhuǎn)語(yǔ)音的方法
今天小編就為大家分享一篇pyttsx3實(shí)現(xiàn)中文文字轉(zhuǎn)語(yǔ)音的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

