allure -- 报告结构 和 各种装饰器使用
一、报告结构
1.侧边栏介绍
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: 轻微缺陷(必须项无提示,或者提示不规范)