allure的内容以及用法
allure簡介
Allure是一款輕量級并且非常靈活的開源測試報告框架。 它支持絕大多數測試框架, 例如TestNG、Pytest、JUint等。它簡單易用,易于集成。
allure如何生成測試報告
運行的時候加上
pytest.main ( ‘–alluredir’, ‘report/result’, ‘TestDemo01.py’])
會在當前文件夾創建一個report文件夾,在report文件夾下創建result
生成html測試報告
因為生成的測試報告是json的,不好看,所有用這個命令生成一個好看的HTML測試報告
運行之后,就會生成一個HTML文件夾,點開index.html這個就是我們的測試報告啦
#####
這一節主要是記錄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的各種裝飾器加載后展示的報告的樣式了。
總結
以上是生活随笔為你收集整理的allure的内容以及用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 约瑟夫问题
- 下一篇: 华硕俞元麟:ROG Z790 APEX