1. 程式人生 > 實用技巧 >Pytest學習(二十三)- allure 之 @allure.epic()、@allure.feature()、@allure.story() 的使用

Pytest學習(二十三)- allure 之 @allure.epic()、@allure.feature()、@allure.story() 的使用

前言

這三個註解,個人覺得和BDD即行為驅動類似,學習思路參考cucumber,而allure提供的這三個標記裝飾器,它們是可以顯示在allure報告上的。

allure的標記裝飾器

  • BDD樣式的標記裝飾器
  • 優先順序(嚴重程度)標記裝飾器
  • 自定義標記裝飾器

BDD標記裝飾器

提供了三個裝飾器

  • @allure.epic:敏捷裡面的概念,定義史詩,往下是 feature
  • @allure.feature:功能點的描述,理解成模組往下是 story
  • @allure.story:故事,往下是 title

示例程式碼如下:

# -*- coding: utf-8 -*-
# @Time    : 2020/12/13 8:32
# @Author  : longrong.lang
# @FileName: test_mark.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang

import allure
import pytest


@pytest.fixture(scope="session")
def login_fixture():
    print("=== 前置登入 ===")


@allure.step("步驟1")
def step_1():
    print("操作步驟 查詢商品---------------1")


@allure.step("步驟2")
def step_2():
    print("操作步驟 將商品加入購物車---------------2")


@allure.epic("epic 此處為總體描述")
@allure.feature("測試模組,如加入購物車")
class TestAllure:

    @allure.testcase("https://www.cnblogs.com/longronglang/", '測試用例使用連結')
    @allure.issue("https://www.cnblogs.com/longronglang/", 'Bug使用連結')
    @allure.title("用例的標題(將商品加入購物車)")
    @allure.story("story one")
    # 嚴重級別
    @allure.severity("critical")
    @allure.story("檢索商品並加入購物車")
    @allure.title("久曲健部落格:https://www.cnblogs.com/longronglang/")
    def test_case_1(self, login_fixture):
        print("測試用例1")
        step_1()
        step_2()

測試報告展示如下