Allure 报告工具旨在为每次测试运行显示一份报告。开发人员警告过我这一点。无论如何,我需要这个方便的工具提供更多功能。
基本上,我需要找到以下问题的答案:上个月哪些测试不稳定并且需要稳定?不幸的是,我没有从主网站(https://allurereport.org/)或互联网上的框中找到答案。
我的解决方案:
尝试解决第一个问题:[已解决]
我尝试在 jenkins CI 工具下存档 allure 报告,但我必须管理 1500 个 TestNg 测试,并且 allure 报告生成和存档需要大约 10 分钟,这对于我们的管道来说是不可接受的。 然后我开始生成关于 jenkins 从站的报告,并根据下一个结构将其 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
每个套件都未通过测试信用卡测试。
因此,我需要知道
third party system was down
错误在 2 天内出现 2 次,IndexOutOfBoundsException
错误在 2 天内出现 1 次,并且测试在第二天第三次重新运行尝试中通过。
有人朝这个方向努力吗?
是的,Allure 支持聚合报告。但更多的是:
据我所知,Allure 永远不会支持跟踪历史测试结果、发现趋势等。历史测试结果的数量可能会变得巨大,导致浏览器崩溃。此外,时间轴选项卡将不再有意义。其他选项卡需要进行重大更改。为什么在这些场景中不使用声纳?