pytest(二十九)--allure标记用例级别severity

前言

我们在做功能测试的时候,执行完一轮测试用例,输出测试报告的时候,会有统计缺陷的数量和等级。在做自动化测试的过程中,当你的测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。

pytest结合allure框架可以对用例的等级做详细的划分。

用例等级

allure对用例的等级划分成五个等级

  • blocker 阻塞缺陷(功能未实现,无法下一步)
  • critical 严重缺陷(功能点缺失)
  • normal 一般缺陷(边界情况,格式错误)
  • minor 次要缺陷(界面错误与ui需求不符)
  • trivial 轻微缺陷(必须项无提示,或者提示不规范)

pytest用例

根据测试用例的重要性划分测试用例等级,如果没指定等级,默认为normal级别

#test_answers.py
import allure
@allure.severity("normal")
def test_1():
    '''测试某某11'''
    print("test_1 111")

@allure.severity("critical")
def test_2():
    '''测试某某22'''
    print("test_2 222")

@allure.severity("blocker")
def test_3():
    print("test_3")

@allure.severity("critical")
def test_4():
    print("test_4 444")

def test_5():
    '''测试某某55'''
    print("test_5 555")

def test_6():
    print("test_6 666")

cd到该脚本的目录,执行用例,查看报告 

pytest --alluredir ./report/allure #执行用例
allure serve ./report/allure #查看报告

 查看报告详情

 统计缺陷

如果执行用例的过程中有测试用例不通过的情况,也可以统计缺陷的严重等级

#test_answers.py
import allure
@allure.severity("normal")
def test_1():
    '''测试某某11'''
    print("test_1 111")

@allure.severity("critical")
def test_2():
    '''测试某某22'''
    print("test_2 222")
    assert False

@allure.severity("blocker")
def test_3():
    print("test_3")

@allure.severity("critical")
def test_4():
    print("test_4 444")

def test_5():
    '''测试某某55'''
    print("test_5 555")
    assert 1==2
def test_6():
    print("test_6 666")  

重新执行用例,查看报告-图表

 allure命令行参数allure-severities

pytest -h|more 可以查看到allure相关的几个命令行参数

如果有很多测试用例,现在只想做个快速的回归测试,只测试用例级别为blocker和critical级别的测试用例

pytest --alluredir ./report/allure --allure-severities blocker,critical

也可以这样写

pytest --alluredir=./report/allure --allure-severities=blocker,critical

如果只执行blocker级别的用例

pytest --alluredir=./report/allure --allure-severities=blocker

越努力,越幸运!!! good good study,day day up!!!
原文地址:https://www.cnblogs.com/canglongdao/p/13414465.html