<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Allure除了具有Pytest基本狀態外,其他幾乎所有功能也都支援。
如果你想對測試用例進行嚴重等級劃分,可以使用@allure.severity裝飾器,它可以應用於函數,方法或整個類。
它以allure.severity_level
列舉值作為引數,分別為:BLOCKER(中斷),CRITICAL(嚴重),NORMAL(常規),MINOR(輕微),TRIVIAL(不重要)。
範例:
# test_sample.py import allure # 兩數相加 def add(x, y): return x + y # 測試類 @allure.severity(allure.severity_level.TRIVIAL) class TestAdd: @allure.severity(allure.severity_level.MINOR) def test_first(self): assert add(3, 4) == 7 @allure.severity(allure.severity_level.NORMAL) def test_second(self): assert add(-3, 4) == 1 @allure.severity(allure.severity_level.CRITICAL) def test_three(self): assert add(3, -4) == -1 @allure.severity(allure.severity_level.BLOCKER) def test_four(self): assert add(-3, -4) == -7
執行:
E:workspace-pyPytest>pytest test_sample.py --alluredir=report --clean-alluredir ========================================================================== test session starts ========================================================================== platform win32 -- Python 3.7.3, pytest-6.0.2, py-1.9.0, pluggy-0.13.0 rootdir: E:workspace-pyPytest plugins: allure-pytest-2.8.18, assume-2.3.3, cov-2.10.1, html-3.0.0, rerunfailures-9.1.1, xdist-2.1.0 collected 4 items test_sample.py .... [100%] =========================================================================== 4 passed in 0.06s ===========================================================================
報告:
你還可以通過--allure-severities
選項指定嚴重等級執行,多個以逗號分隔。
E:workspace-pyPytest>pytest test_sample.py --allure-severities normal,critical ========================================================================== test session starts ========================================================================== platform win32 -- Python 3.7.3, pytest-6.0.2, py-1.9.0, pluggy-0.13.0 rootdir: E:workspace-pyPytest plugins: allure-pytest-2.8.18, assume-2.3.3, cov-2.10.1, html-3.0.0, rerunfailures-9.1.1, xdist-2.1.0 collected 4 items test_sample.py .. [100%] =========================================================================== 2 passed in 0.02s ===========================================================================
如果你想對測試功能、測試場景進行行為描述,可以分別使用裝飾器:@allure.feature
和@allure.story
。
範例:
# test_sample.py import allure # 兩數相加 def add(x, y): return x + y @allure.feature('測試類') class TestAdd: @allure.story('01測試兩個正數相加') def test_first(self): assert add(3, 4) == 7 @allure.story('02測試負數正數相加') def test_second(self): assert add(-3, 4) == 1 @allure.story('03測試正數負數相加') def test_three(self): assert add(3, -4) == -1 @allure.story('04測試兩個負數相加') def test_four(self): assert add(-3, -4) == -7
執行:
E:workspace-pyPytest>pytest test_sample.py --alluredir=report --clean-alluredir ========================================================================== test session starts ========================================================================== platform win32 -- Python 3.7.3, pytest-6.0.2, py-1.9.0, pluggy-0.13.0 rootdir: E:workspace-pyPytest plugins: allure-pytest-2.8.18, assume-2.3.3, cov-2.10.1, html-3.0.0, rerunfailures-9.1.1, xdist-2.1.0 collected 4 items test_sample.py .... [100%] =========================================================================== 4 passed in 0.06s ===========================================================================
報告:
你也可以通過--allure-features
和--allure-stories
選擇指定具體功能和故事執行,多個以逗號分隔。
E:workspace-pyPytest>pytest test_sample.py --allure-stories 01測試兩個正數相加 ========================================================================== test session starts ========================================================================== platform win32 -- Python 3.7.3, pytest-6.0.2, py-1.9.0, pluggy-0.13.0 rootdir: E:workspace-pyPytest plugins: allure-pytest-2.8.18, assume-2.3.3, cov-2.10.1, html-3.0.0, rerunfailures-9.1.1, xdist-2.1.0 collected 4 items test_sample.py . [100%] =========================================================================== 1 passed in 0.02s ===========================================================================
如果你想對每個測試呼叫進行非常詳細的逐步說明,可以通過@allure.step裝飾器來實現(韌體同樣支援)。
該裝飾器會將方法或函數的呼叫與提供的引數一起新增到報表中,並且可以包含一條描述行,該行支援位置和關鍵字引數。
範例:
# test_sample.py import pytest import allure @allure.step('兩數相加:{0} + {y}') def add(x, y): r = x + y print_res(r) return r @allure.step def print_res(r): print('計算結果:', r) class TestLearning: data = [ [3, 4, 7], [-3, 4, 1], [3, -4, -1], [-3, -4, -7], ] @pytest.mark.parametrize("data", data) def test_add(self, data): assert add(data[0], data[1]) == data[2]
報告:
如果你想讓測試標題更具可讀性,可以使用@allure.title裝飾器,該裝飾器支援引數的預留位置並支援動態替換。
範例:
# test_sample.py import pytest import allure def add(x, y): return x + y class TestLearning: data = [ [3, 4, 7], [-3, 4, 1], [3, -4, -1], [-3, -4, -7], ] @allure.title("測試用例-{data}") @pytest.mark.parametrize("data", data) def test_add(self, data): assert add(data[0], data[1]) == data[2]
報告:
如果你想新增測試的詳細說明,可以通過新增測試方法描述資訊,也可以使用裝飾器@allure.description
和@allure.description_html
。
範例:
# test_sample.py import allure # 被測功能 def add(x, y): return x + y # 測試類 class TestLearning: @allure.description('測試正數相加') def test_first(self): assert add(3, 4) == 7 @allure.description_html('<h1> 測試負數相加 </h1>') def test_second(self): """你也可以在這裡新增用例的描述資訊,但是會被allure裝飾器覆蓋""" assert add(-3, -4) == -7
報告:
如果你想在報告中顯示不同型別的附件,可以通過以下兩種方式來實現:allure.attach
(body, name, attachment_type, extension)allure.attach.file
(source, name, attachment_type, extension)
範例:
import allure def test_multiple_attachments(): allure.attach.file(r'C:UsersPublicPicturesSample PicturesKoala.jpg', attachment_type=allure.attachment_type.JPG) allure.attach('<head></head><body> 測試頁面 </body>', 'Attach with HTML type', allure.attachment_type.HTML)
報告:
如果你想關聯缺陷追蹤系統或測試管理系統,你可以使用裝飾器@allure.link
、@allure.issue
、@allure.testcase
。
範例:
import allure @allure.link('http://www.baidu.com') def test_with_named_link(): pass @allure.issue('101', '缺陷問題描述') def test_with_issue_link(): pass @allure.testcase('http://this.testcase.com', '測試用例標題') def test_with_testcase_link(): pass
報告:
注意:
@allure.issue 將提供帶有小錯誤圖示的連結,該描述符將測試用例ID作為輸入引數,以將其與提供的問題連結型別的連結模板一起使用。
連結模板在 --allure-link-patternPytest 的設定選項中指定。連結模板和型別必須使用冒號指定:
pytest test_sample.py --alluredir=report --allure-link-pattern=issue:http://www.mytesttracker.com/issue/{}
官方檔案地址:https://docs.qameta.io/allure/
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45