這一節主要是記錄allure的內容以及用法,怎么讓他生成一個完整的想要的報告。
allure生成的報告和其他五花八門的報告對比了一下,它的可讀性是最好、最直觀的。這不僅僅是我想要的效果,也是很多小伙伴想要的結果,畢竟這是給領導看,而且也算是自己老大成果的匯總。
關於怎么安裝的,請移步: https://www.cnblogs.com/Zhan-W/p/13132397.html
一、Allure相關的內容:
| Allure用例描述 | ||
| 使用方法 | 參數值 | 參數說明 |
| @allure.epic() | epic描述 | 定義項目、當有多個項目是使用。往下是feature |
| @allure.feature() | 模塊名稱 | 用例按照模塊區分,有多個模塊時給每個起名字 |
| @allure.story() | 用例名稱 | 一個用例的描述 |
| @allure.title(用例的標題) | 用例標題 | 一個用例標題 |
| @allure.testcase() | 測試用例的連接地址 | 自動化用例對應的功能用例存放系統的地址 |
| @allure.issue() | 缺陷地址 | 對應缺陷管理系統里邊的缺陷地址 |
| @allure.description() | 用例描述 | 對測試用例的詳細描述 |
| @allure.step() | 操作步驟 | 測試用例的操作步驟 |
| @allure.severity() | 用例等級 | blocker 、critical 、normal 、minor 、trivial |
| @allure.link() | 定義連接 | 用於定義一個需要在測試報告中展示的連接 |
| @allure.attachment() | 附件 | 添加測試報告附件 |
總共主要的就以上這些,常用的大概有一半吧 。
二、對於這其中常用的做一些使用實例:
代碼結構:

登錄是一個前置操作 ,拿出來后單獨存放,loging.py文件內容:
# __*__coding:utf-8 __*__
import allure @allure.step("操作步驟: 登錄") def longin(): '''登錄操作'''
print("這個是登錄的接口")
conftest.py這個文件主要放一些公共的內容
# __*__coding:utf-8 __*__
import pytest from common_contion.loging import longin @pytest.fixture(scope="session") def login_fixture(): longin() print("這個是前置操作:登錄")
case----test_case.py文件主要存放一些測試用例,內容如下:
# __*__coding:utf-8 __*__
import pytest import allure from common_contion.dome_Interface import * @allure.severity("blocker") @allure.epic("項目名稱: 會所資源管理系統") @allure.issue("http://149.335.82.12:8080/zentao/bug-view-1.html") # 禪道bug地址
@allure.testcase("http://149.335.82.12:8080/zentao/testcase-view-5-1.html") # 禪道用例連接地址
@allure.feature("房間管理模塊") class Testdome1(object): def test_dome_1(self,login_fixture): '''用例一的用例描述: 我是第一個用例,我只有一個步驟'''
print("第一個測試用例") jieko_dome_1() def test_dome_2(self,login_fixture): '''用例二的用例描述: 我是第二個用例,我只有一個步驟'''
print("第二個測試用例") jieko_dome_2() @allure.severity("critical") @allure.epic("項目名稱: 會所資源管理系統") @allure.feature("資源管理模塊") @allure.story("用例的標題: 對會所資源進行增、刪、改、查") @allure.issue("http://149.335.82.12:8080/zentao/bug-view-1.html") # 禪道bug地址
@allure.testcase("http://149.335.82.12:8080/zentao/testcase-view-5-1.html") # 禪道用例連接地址
class Testdome3(object): def test_dome_3(self,login_fixture): '''用例三的用例描述: 我是第三個用例,我是有多個步驟;'''
print("第三個測試用例") f = jieko_dome_3() f.jieko_dome_3_1() f.jieko_dome_3_2() f.jieko_dome_3_3() f.jieko_dome_3_4()
common_contion----dome_Interface.py文件主要存放用例相關的接口內容:
# __*__coding:utf-8 __*__
import allure def jieko_dome_1(): '''用例描述: 用例一的接口'''
print("這個是第一個用例對應的接口") def jieko_dome_2(): '''用例描述: 用例二的接口'''
print("這個是第二個用例對應的接口") @allure.feature("資源管理模塊") class jieko_dome_3(object): '''這個是一個模塊的測試''' @allure.step("操作步驟: 新增資源個人信息") def jieko_dome_3_1(self): '''用例描述: 用例三的新增內容接口'''
print("這個是第三個用例對應的接口一") @allure.step("操作步驟: 查詢資源在線信息") def jieko_dome_3_2(self): '''用例描述: 用例三的查詢內容接口'''
print("這個是第三個用例對應的接口二") @allure.step("操作步驟: 修改資源身份信息") def jieko_dome_3_3(self): '''用例描述: 用例三的編輯內容接口'''
print("這個是第三個用例對應的接口三") @allure.step("操作步驟: 刪除資源全部信息") def jieko_dome_3_4(self): '''用例描述: 用例三的刪除內容接口'''
print("這個是第三個用例對應的接口四")
三、執行測試用例:
命令行模式執行用例
1、pytest --alluredir ./reopore/allure_row_1
執行結果:

會在工程中生成一個 /reopore/allure_row_1的文件,如圖:

2、dome>allure serve reopore/allure_row_1
執行命令后將收集的數據加載到allure報告中,執行結果:

會自動使用默認瀏覽器打開報告
報告樣式展示如下:



以上就是allure的各種裝飾器加載后展示的報告的樣式了。
有大佬看到了歡迎留言。
