allure -- 报告结构 和 各种装饰器使用

一、报告结构

1.侧边栏介绍

  • Overview:总览
  • Categories:类别,默认是分了failed和error,凡是执行结果是其中一个的都会被归到类里面,可以通过这里快捷查看哪些用例是failed和error的,支持自定义
  • Suites:测试套件,就是所有用例的层级关系,可以根据package、module、类、方法来查找用例
  • Graphs:测试结果图形化,包括用例执行结果的分布图,优先级,耗时等
  • Timeline:可以看到测试用例精确的测试时序(执行顺序),包括执行时间
  • Behaviors:行为驱动,根据epic、feature、story来分组测试用例
  • Packages:这就是按照package、module来分组测试用例了

2.界面描述

二、allure各种装饰器属性介绍

1.添加环境描述文件

2.自定义categories分类【侧边栏Categories中】

3.模块分类标记:【侧边栏Behaviors中】

  • @allure.epic("总描述")史诗级,往下是 feature
  • @allure.feature("测试模块描述"):功能点的描述,往下是 story
  • @allure.story("测试描述"):故事级,再往下就是 用例的title

知识点:

  • 提供了三个等级装饰器,类似于pytest的@pytest.mark.xxoo ,且三个有树状层级关系
  • 也支持像pytest一样支持运行某些或某个有某类标记的用例,详见原文链接

4.自定义Suites中【侧边栏Suites-中间 用例层级关系】

  • @allure.suite('这是天气套件')  # 可装饰给类

5.修改用例默认显示名称:【中间 用例层级关系中的用例名称】

  • @allure.title("不再显示默认test_01名称,显示这个,可读性高,建议使用")
  • @allure.title("成功登录,测试数据是:{test_loginss}")  动态标题,结合@pytest.mark.parametrize使用

6.添加用例操作步骤的说明 【右侧 Test body】

  • @allure.step("第一步") :允许对每个测试用例进行非常详细的步骤说明,可以让测试用例在allure报告【右侧Test body】中显示详细的测试过程

7.添加附件操作:【右侧 用例下方]

  • 添加文字 :allure.attach(body='附件的内容', name='附件名字', attachment_type=allure.attachment_type.TEXT)
  • 添加html页面:allure.attach(body='<head></head><body> HTML页面代码 </body>', name='附件名字', attachment_type=allure.attachment_type.HTML)
  • 引入已有文件:allure.attach.file(source='./reports.html', attachment_type=allure.attachment_type.HTML)

8.添加注释或描述:会显示在【右侧 Description】

  • @allure.description("描述内容"),其实等同于 直接在测试用例函数名下添加  """ 注释内容""",喜欢哪种用哪种
  • @allure.description_html(str):相当于传一个HTML代码组成的字符串,类似 allure.attach() 中传HTML

9.添加链接跳转:【右侧 Link】

  • @allure.link(url, link_type=LinkType.LINK, name=None)
  • @allure.issue()
  • @allure.testcase()

知识点:

  • issue()和testcase()其实调用的也是link(),三个方法是一样的,只是link_type不一样显示出来样式不同,可以更好地区分【访问链接、Bug链接、测试用例链接】
  • 必传参数 url:跳转的链接
  • 可选参数 name:链接的显示,默认原链接,建议传!!不然可读性不高
  • 而出现三个装饰器的原因是为了更好地将链接分类【访问链接、Bug链接、测试用例链接】

10.allure.dynamic.xxoo() 动态生成装饰器

上面讲的好多个装饰器,其实都支持配合参数动态生成,如下:详情见原链接

11.添加标签Tags: 【右侧 Tags】

  • @allure.tag('这是tag')

12.添加用例等级:【中间图表 + 右侧Severity 】

severity 看上去像是严重程度,官方翻译为优先级,代表的也是优先级

allure支持给用例设置等级,在 allure 报告中可看到各个用例的等级,也可以看到各优先级的失败、通过用例数,以及哪条用例是失败、通过的

命令行也可以根据优先级,选择需要运行的测试用例,详见原文链接 

  • @allure.severity("normal")

等级介绍:

  • blocker:阻塞缺陷(功能未实现,无法下一步)
  • critical:严重缺陷(功能点缺失)
  • normal: 一般缺陷(边界情况,格式错误)
  • minor:次要缺陷(界面错误与ui需求不符)
  • trivial: 轻微缺陷(必须项无提示,或者提示不规范)
posted @ 2022-02-28 17:43  www.pu  Views(1542)  Comments(0Edit  收藏  举报