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è)試類別、測(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書寫) # Java allureservetarget/allure-results(注意這里的serve書寫)
方式二:應(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:附件類型,是 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:要寫入附件的內(nèi)容
- name:附件名字。
- attachment_type:附件類型,是 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ì)、用例編寫和斷言
Allure 測(cè)試報(bào)告定制
到此這篇關(guān)于Pytest Allure的安裝與應(yīng)用教程詳解的文章就介紹到這了,更多相關(guān)Pytest Allure內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)
這篇文章主要為大家詳細(xì)介紹了OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08python數(shù)據(jù)分析數(shù)據(jù)標(biāo)準(zhǔn)化及離散化詳解
這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)分析數(shù)據(jù)標(biāo)準(zhǔn)化及離散化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02完美處理python與anaconda環(huán)境變量的沖突問(wèn)題
這篇文章主要介紹了完美處理Python與anaconda環(huán)境變量的沖突問(wèn)題,對(duì)anaconda感興趣的同學(xué),可以參考下2021-04-04用Python實(shí)現(xiàn)網(wǎng)易云音樂(lè)的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗和可視化分析
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)Kmeans聚類算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08