• Pytest 学习(二十四)- @allure.severity 标记用例级别的使用


    一、前言

    使用@allure.severity注解,可以在 allure 报告中清晰的看到不同级别用例情况

    用例等级介绍

    allure 提供的枚举类

    二、等级介绍

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

    这里和禅道的bug级别很像,个中使用细节根据自己情况使用

    示例代码如下:

    # -*- coding: utf-8 -*-
    # @Time    : 2020/12/13 13:48
    # @Author  : longrong.lang
    # @FileName: test_severity.py
    # @Software: PyCharm
    # @Cnblogs :https://www.cnblogs.com/longronglang
    import allure
    
    
    @allure.severity(allure.severity_level.BLOCKER)
    def test_case1():
        print("case1")
    
    
    @allure.severity(allure.severity_level.CRITICAL)
    def test_case2():
        print("case2")
    
    
    @allure.severity(allure.severity_level.NORMAL)
    def test_case3():
        print("case3")
    
    
    @allure.severity(allure.severity_level.MINOR)
    def test_case4():
        print("case4")
    
    
    @allure.severity(allure.severity_level.TRIVIAL)
    def test_case5():
        print("case5")
    
    def test_case6():
        """ 没标记 severity 的用例默认为 normal"""
        print("case6")
    

    三、allure报告

    测试用例详情

    统计图表

    四、清空历史报告

    如何清除历史报告?可能有的同学会说,我直接手动删除,当前脚本目录下生成的allure目录就好了呀。

    哈哈,咱们能不能不这么野蛮?

    下面我们来举例说明,示例代码如下:

    # -*- coding: utf-8 -*-
    # @Time    : 2020/12/13 15:34
    # @Author  : longrong.lang
    # @FileName: test_clean.py
    # @Software: PyCharm
    # @Cnblogs :https://www.cnblogs.com/longronglang
    
    def test_1():
        print("test_1 文件的测试用例1")
    
    
    def test_2():
        print("test_1 文件的测试用例2")
    
    

    使用命令行执行

    pytest test_clean.py --alluredir=./allure
    

    测试报告如下显示

    对刚才的示例代码修改如下:

    # -*- coding: utf-8 -*-
    # @Time    : 2020/12/13 15:34
    # @Author  : longrong.lang
    # @FileName: test_clean.py
    # @Software: PyCharm
    # @Cnblogs :https://www.cnblogs.com/longronglang
    
    def test_111():
        print("test_111 文件的测试用例1")
    
    
    def test_222():
        print("test_222 文件的测试用例2")
    
    

    执行完后,测试报告如下显示:

    细心的小伙伴会发现,包含历史两条,这TM居然是叠加呀,正常不应该只是显示我修改后的部分吗?那该怎么解决呢

    五、clean-alluredir 参数

    pytest 提供了 --clean-alluredir 参数可以清空 allure 报告生成的目录
    使用如下命令:

    
    # 先运行第一个
    pytest test_clean.py --alluredir=./allure
    
    # 再运行第二个,此时应该希望 allure 报告只有 test_2.py 的测试用例
    pytest test_clean.py --alluredir=./allure --clean-alluredir
    

    再来看测试结果显示

  • 相关阅读:
    CodeForces
    CodeForces
    Simple Robot Gym
    Gym
    Java课程03总结
    Java课程03总结
    判断字符串是否回文
    Java课程02总结
    有关二进制原码、反码、补码
    Java课程01总结
  • 原文地址:https://www.cnblogs.com/longronglang/p/14128728.html
Copyright © 2020-2023  润新知