****************************************************************
说明文档:https://docs.qameta.io/allure/
wiki:https://github.com/allure-framework/allure1/wiki
demo report:https://demo.qameta.io/allure/
sample:https://github.com/allure-examples
****************************************************************
Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅以简洁的Web报告形式显示已测试的内容,而且可以从日常执行中提取最大程度的有用信息。
目前,Allure已集成了较多的测试框架。 支持的框架按语言分组:Java,Python,JavaScript,Ruby,Groovy,PHP,.Net和Scala。
在Java语言中,已支持jUnit4, jUnit5,TestNG,Cucumber JVM, Selenide这几种测试框架。
Jenkins也已经有Allure的插件,方便自动生成美观的单元测试报告。
Allure的报告,主要从Categories,Suites,Graphs,Timeline,Behaviors,Packages几个方面来呈现。并根据异常的严重程度,设置不同的等级(用颜色块表示)。
异常的信息,会有详细的描述,如下图所示。只要在单元测试代码处,做一些设置,就可以获得这些详细信息。
一、Categories(类别)
类别提供了在测试报告中按定义的分类将不同执行结果进行分类展示的功能。
-
Allure 默认会将执行失败的用例纳入 product defects 分类中。
-
也可以自定义类别来进行展示。如下就是按自定义类别展示的界面:(todo)
二、 Suites(测试套)
可以将用例以测试集合的形式来进行展示。和 JUnit 框架结合时,默认是将每一个测试类视作一个测试套进行呈现,如图:
三、Graphs(图表)
在 Allure 报告的图表页中,会自动将当前报告中的一些关键信息汇总以图表的方式可视化呈现出来,包括执行状态、执行优先级、执行耗时、耗时趋势、结果趋势、分类趋势、重试趋势等数个维度。如图:
四、Timeline(时间刻度)
在时间刻度页中,提供了一个基于执行耗时的刻度表,可以非常直观地看到每个 case 执行的耗时区间,便于直观地识别出性能最差的用例。
五、Behaviors(功能):
功能页是 Allure 提供的一个非常有用的特色功能。Allure 支持结合自动化测试框架深度定义不同 case 所属的功能维度,并根据这个维度分级展示。这个分级维度和目前流行的敏捷研发的需求拆分原则基本一致,按对应需求从大到小逐级递减:
六、Packages(包)
包页面展示的是比测试套更高一个级别的分层,JUnit 框架中对应的就是 package 再向下对应到 class、method,如图: