聚合来自多个诱惑报告的数据

Pav*_*rov 5 testng report allure

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

  • 你有没有想过把诱惑报告保存几天/一个月?
  • 你想过自动分析历史数据吗?

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

我的解决方案:

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

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

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

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

这种方法允许聚合数据。

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

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

例如:

我们有2份报告:

../并行套件/2015-10-21/560

../并行套件/2015-10-22/584

每个套件都有失败的测试 testCreditCard。

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

因此,我需要知道该third party system was down错误是 2 天 2 次,2 天IndexOutOfBoundsException是 1 次,并且测试在第三次重新运行尝试的第二天通过。

有人朝这个方向工作吗?

vol*_*ovs 1

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

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

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