report - 来自多个 Allure 报告的汇总数据

标签 report testng allure

Allure 报告工具旨在为每次测试运行显示一份报告。开发人员警告过我这一点。无论如何,我需要这个方便的工具提供更多功能。

  • 您是否想过将吸引力报告保留几天/月?
  • 您是否考虑过自动分析历史数据?

基本上,我需要找到问题的答案:上个月哪些测试不稳定并且需要稳定?不幸的是,我没有从主网站( http://allure.qatools.ru/ )或互联网上的框中找到答案。

我的解决方案:

尝试解决第一个问题:[已解决]

我尝试在 jenkins CI 工具下存档 allure 报告,但我必须管理 1500 个 TestNg 测试,并且 allure 报告生成和存档需要大约 10 分钟,这对于我们的管道来说是 Not Acceptable 。 然后我开始生成关于 jenkins 从站的报告,并根据下一个结构将其 ftp 到远程框:project_type/pipeline_type/suite_type/day/build_number。

我使用 btrfs 压缩将报告存储为原始项目,这可以非常有效地压缩 json 文件(文件被压缩 5 倍),并且可以从 ui 访问文件。

UI是一个django(就是喜欢它)项目,它遵循文件系统结构。

这种方法允许聚合数据。

尝试解决第二个问题:[未解决]

我需要聚合 suite_type 的所有运行中的数据(参见上面的结构),并找出哪些测试在主运行或重新运行尝试中失败(我们使用 FailedReporter TestNg 监听器重新运行失败的测试 3 次)并匹配测试失败的失败原因。理想情况下,我需要将失败的测试结果与存储的报告进行匹配。

例如:

我们有 2 份报告:

../parallel-suite/2015-10-21/560

../parallel-suite/2015-10-22/584

每个套件都未通过 testCreditCard 测试。

  • 560 构建中的测试失败,原因是 - 第三方系统已关闭。
  • 由于原因,第一次重新运行尝试时在 584 构建中测试失败 - 第三方系统已关闭,第二次因原因重新运行尝试时 - IndexOutOfBoundsException:索引:0,大小:java.util.ArrayList.rangeCheck 处的 0,第三次尝试就通过了。

因此,我需要知道第三方系统已关闭错误在2天内出现2次,IndexOutOfBoundsException在2天内出现1次并且测试在第二次通过第三次重新运行尝试的一天。

有人朝这个方向努力吗?

最佳答案

是的,Allure 支持聚合报告。但它更多的是关于:

  • 分布式执行(根据 Allure 模型,每个测试用例都可以用其执行的主机来标记)
  • 多次执行(例如,测试是用不同的编程语言编写的 - 您无法执行单个 Allure 适配器)。

据我所知,Allure 永远不会支持跟踪历史测试结果、发现趋势等。历史测试结果的数量可能会变得巨大,导致浏览器崩溃。此外,时间轴选项卡将不再有意义。其他选项卡需要进行重大更改。为什么不使用声纳来处理这些场景?

关于report - 来自多个 Allure 报告的汇总数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33857096/

相关文章:

javascript - 使用 Data Cube 进行向下钻取的交互式 BIRT 饼图

java - 在组运行之前不执行 TestNG @BeforeGroup

java - 当我使用组时无法运行 testng xml

jenkins - 如何在 jenkins 管道中运行 allure 插件?

gradle - 在 Gradle 1.10 中配置 findBugs

mysql - 使用 pentaho 报表设计器从列中选择的行的总和

java - 如何从 junit 扩展返回值给@Test?

python - Allure serve 命令实时更新并利用高级功能(趋势、历史等)

coding-style - 如何在研究报告中格式化代码

java - 用于在 testng 中测试异常的 @Test(expected=ExceptionClass.class) 的替代方案