Pytest(二十)揭秘如何利用allure标记case的重要性

2022-05-21 11:01:55 浏览数 (1)

系列分享

Pytest系列(一)初次了解

Pytest(二)执行规则以及编写执行多条用例

Pytest(三)Pytest执行命令

Pytest(四)Pytest断言

Pytest(五)标记函数

Pytest(六)跳过测试

Pytest(七) pytest之参数化

Pytest(八) pytest Fixture(一)

Pytest(九) pytest Fixture(二)

Pytest(十) pytest Fixture(三)

Pytest(十一) pytest ini文件

Pytest(十二) Pytest产生测试报告

Pytest(十三)durations统计用例运行时间

Pytest(十四)用例执行顺序

Pytest(十五)重试机制

Pytest(十六)多进程并发执行

Pytest(十七)pytest增加log日志

Pytest(十八)setup和teardown

Pytest(十九)利用内置的cache 写入和读取缓存数据解决简单的数据依赖

我们在case书写的时候,想要对case的重要的等级进行区分,那么如何进行区分呢,我们这次来看的是allure来标记。

有5种级别:

代码语言:javascript复制
Blocker级别:阻塞

Critical级别:严重

Normal级别:正常

Minor级别:不太重要

Trivial级别:不重要

我们看下如何使用呢

代码语言:javascript复制
import pytest
import allure

@allure.severity(allure.severity_level.TRIVIAL)
def test_01():
    print("test_01")
    time.sleep(1.0)

@allure.severity(allure.severity_level.NORMAL)
def test_two():
    print("test_two")
    time.sleep(10)

@allure.severity(allure.severity_level.MINOR)
def test_regin():
    print("用例test_regin")
    time.sleep(1.5)

@allure.severity(allure.severity_level.BLOCKER)
def test_login():
    print("用例login")
    time.sleep(0.1)
@allure.severity(allure.severity_level.CRITICAL)
def test_05():
    print("用例5")
    time.sleep(2.3)

执行下,看最后的执行的结果是怎样的

代码语言:javascript复制
 pytest one.py  --alluredir=./result/ --allure-severities normal,critical

选择了normal和critical执行

这个装饰器,也可以在类级别的用例去用。demo如下:

代码语言:javascript复制
import  allure
@allure.severity(allure.severity_level.NORMAL)
class TestCalse(object):
    def testone(self):
        pass

    @allure.severity(allure.severity_level.CRITICAL)
    def testwo(self):
        pass

    @allure.severity(allure.severity_level.NORMAL)
    def testw(self):
        pass

测试下,CRITICAL用例,看是否可以执行

是可以执行的,因为等级不一样。我们可以看下normal用例只能执行两个,

这样在写case的时候有不同的等级,就可以在不同的时候,选择执行不同的测试用例。

可以把用例划分成几个等级,转换成我们的冒烟用例,回归用例,巡检用例等,在不同的阶段执行不同的case即可。

发现问题,解决问题。遇到问题,慢慢解决问题即可。

0 人点赞