Allure 自動化測試報告使用詳解


這一節主要是記錄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的各種裝飾器加載后展示的報告的樣式了。

有大佬看到了歡迎留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM