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 天IndexOutOfBoundsException
2 天,并且在第三次重新运行尝试的第二天通过了测试。
有人朝这个方向工作吗?