1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

Pytest测试报告工具Allure的高级用法

介绍关于测试报告工具Allure用法的详解

我是本际云服务器推荐网的小编小本本,今天来给大家详细介绍测试报告工具Allure的使用方法,主要关于PytestAllure类的用法。

Pytest测试报告工具Allure的高级用法

关于PytestAllure的用法

Allure支持Pytest的基本状态,还支持其他几乎所有功能。

严重性

如果您想对测试用例进行严重性等级划分,可以使用allure.severity装饰器。它可以应用于函数、方法或整个类。它以allure.severity_level枚举值作为参数,包括以下五种:BLOCKER(中断),CRITICAL(严重),NORMAL(常规),MINOR(轻微),TRIVIAL(不重要)。

示例:

import allure

# 两数相加
def add(x, y):
    return x + y

# 测试类
allure.severity(allure.severity_level.TRIVIAL)
class TestAdd:
    allure.severity(allure.severity_level.MINOR)
    def test_first(self):
        assert add(3, 4) == 7
    allure.severity(allure.severity_level.NORMAL)
    def test_second(self):
        assert add(-3, 4) == 1
    allure.severity(allure.severity_level.CRITICAL)
    def test_three(self):
        assert add(3, -4) == -1
    allure.severity(allure.severity_level.BLOCKER)
    def test_four(self):
        assert add(-3, -4) == -7 

运行:

pytest test_sample.py --alluredir=report --clean-alluredir

报告:

你也可以使用–allure-severities标记选择特定的严重性运行测试用例。

功能

如果您想对测试功能、测试用例场景进行行为描述,可以分别使用装饰器:allure.feature和allure.story。

示例:

import allure

# 两数相加
def add(x, y):
    return x + y

allure.feature('测试类')
class TestAdd:
    allure.story('01测试两个正数相加')
    def test_first(self):
        assert add(3, 4) == 7
    allure.story('02测试负数正数相加')
    def test_second(self):
        assert add(-3, 4) == 1
    allure.story('03测试正数负数相加')
    def test_three(self):
        assert add(3, -4) == -1
    allure.story('04测试两个负数相加')
    def test_four(self):
        assert add(-3, -4) == -7

运行:

pytest test_sample.py --alluredir=report --clean-alluredir

报告:

您也可以使用–allure-features和–allure-stories选项选择特定的功能和故事运行。

步骤

如果您想对每个测试调用进行非常详细的逐步说明,可以使用allure.step装饰器(固件同样支持)。该装饰器会将方法或函数的调用与提供的参数一起添加到报表中,可以包含一条描述行,该行支持位置和关键字参数。

示例:

import pytest
import allure

@allure.step('两数相加:{0}+{y}')
def add(x, y):
    r = x + y
    print_res(r)
    return r

@allure.step
def print_res(r):
    print('计算结果:', r)

class TestLearning:
    data = [
        [3, 4, 7],
        [-3, 4, 1],
        [3, -4, -1],
        [-3, -4, -7],
    ]
    @pytest.mark.parametrize("data", data)
    def test_add(self, data):
        assert add(data[0], data[1]) == data[2]

运行:

pytest test_sample

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7303.html