自动化测试框架系列-pytest, allure-测试用例的级别

 1. allure装饰器描述

使用方法 参数值 参数说明
@allure.suite() 测试套件 测试(集)套件,不用报告默认显示py文件名
@allure.epic() epic描述 敏捷里面的概念,定义史诗,往下是feature
@allure.feature() 模块名称 功能点的描述,往下是story
@allure.story() 用户故事 用户故事,往下是title
@allure.tag() 测试用例标记 用于给用例打个标记
@allure.title(用例的标题) 用例的标题 重命名html报告名称
@allure.testcase() 测试用例的链接地址 对应功能测试用例系统里面的case
@allure.issue() 缺陷 对应缺陷管理系统里面的链接
@allure.description() 用例描述 测试用例的描述
@allure.step() 操作步骤 测试用例的步骤
@allure.severity() 用例等级 blocker,critical,normal,minor,trivial
@allure.link() 链接 定义一个链接,在测试报告展现
@allure.attachment() 附件 报告添加附件

2.测试用例的级别

@allure.severity 测试用例的级别

Allure中对严重级别的定义:

blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)

critical级别: 临界缺陷(功能点缺失)

normal级别:普通缺陷(数值计算错误)

minor级别: 次要缺陷(界面错误与UI需求不符)

trivial级别:轻微缺陷(必输项无提示, 或者提示不规范)
 

3.脚本例子

import allure
import pytest


# 不加任何标记,默认normal
def test_with_no_severity():
    pass


# trivial:不重要,轻微缺陷(必输项无提示,或者提示不规范)
@allure.severity(allure.severity_level.TRIVIAL)
def test_with_trivial_severity():
    pass


# minor 级别 不太重要,次要缺陷(界面错误与UI需求不符)
@allure.severity(allure.severity_level.MINOR)
def test_with_minor_severity():
    pass


# normal:正常问题,普通缺陷(数值计算错误)
@allure.severity(allure.severity_level.NORMAL)
def test_with_normal_severity():
    pass


# critical:严重,临界缺陷(功能点缺失)
@allure.severity(allure.severity_level.CRITICAL)
def test_with_ritical_severity():
    pass


# blocker:阻塞,中断缺陷(客户端程序无响应,无法执行下一步操作)
@allure.severity(allure.severity_level.BLOCKER)
def test_with_blocker_severity():
    pass


@allure.severity(allure.severity_level.NORMAL)
class TestClassWithNormalSeverity(object):

    # 不加任何标记,默认为同class级别
    def test_inside_with_normal_severity(self):
        pass

    # 重新设置了critical级别
    @allure.severity(allure.severity_level.CRITICAL)
    def test_inside_with_critical_severity(self):
        pass
import pytest
from selenium import webdriver
import allure

def add(x,y):
    return x+y


def test1():
    assert 3==add(1,1)


def test2():
    assert 1!=add(1,1)

def func(x):
    if x==0:
      raise ValueError("value error")
    else:
        pass

def test_mytest1():
    with pytest.raises(ValueError):
        func(0)

def test_mytest2():
    assert func(1)==None

@pytest.mark.parametrize(
    "x,y,expected",
    [
        (1,1,2),
        (2,2,4),
        (10,10,20),
    ]
)

def test_add(x,y,expected):
    assert add(x,y) == expected


def test_search_result():
     pytest.skip("Skipping test..later I will implement it")

if __name__ == "__main__":
    pytest.main(['-s','./test_func.py','-m','a'])

4. 测试报告

自动化测试框架系列-pytest, allure-测试用例的级别_第1张图片

 自动化测试框架系列-pytest, allure-测试用例的级别_第2张图片

自动化测试框架系列-pytest, allure-测试用例的级别_第3张图片

自动化测试框架系列-pytest, allure-测试用例的级别_第4张图片

也可以选择中文的报告

自动化测试框架系列-pytest, allure-测试用例的级别_第5张图片

你可能感兴趣的:(软件开发,软件测试知识,测试用例)