5

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(就是喜欢它)项目,它遵循文件系统结构。

这种方法允许聚合数据。

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

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

例如:

我们有 2 份报告:

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

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

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

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

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

有人朝这个方向工作吗?

4

1 回答 1

1

是的,Allure 支持汇总报告。但更多的是:

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

据我所知,Allure 永远不会支持跟踪历史测试结果、发现趋势等。历史测试结果可能会变得非常庞大,只会让你的浏览器崩溃。时间轴选项卡也不再有意义。其他选项卡需要进行重大更改。你为什么不在这些场景中使用 Sonar?

于 2015-11-23T14:09:36.713 回答