TestNG 的历史详细报告

Historical detailed reporting for TestNG

我需要创建一个显示测试 运行 结果历史记录的报告 - 运行 统计信息(运行 #、通过、失败、跳过的计数)、失败详细信息(失败的测试名称,抛出的异常消息)和一些汇总报告(失败次数最多的前 10 个测试,降序排列,抛出的前 10 个异常,降序排列)。

我目前正在从 TestListenerAdapter 的 onFinish() 方法获取 date/passed/failed/skipped 信息,并将结果写入 JSON 格式的文本文件:

{date:%s,passed:%s,failed:%s,skipped:%s}

正在从 HTML 堆叠条形图中读取。我需要以此为基础并收集测试细节,我是这样想的:

{date:%s,passed:%s,failed:%s,skipped:%s,details:{[failedTestName:%s,exceptionMsg:%s]}}

我的问题是:

我在数据收集和历史报告方面走的路是否正确?有没有我可以使用的开箱即用的东西,或者定制是唯一的方法吗?通常我会收集结果并将其存储到数据库中,但这是不可能的。

您的解决方案有效,但当您需要实时反馈时,通常会使用 TestListenerAdapter。

创建自己的 reporter 似乎是更好的方法,因为它只会在 运行.

结束时调用一次

接下来,您可以为所欲为,甚至可以将结果存储在数据库中。 但是 Jenkins 及其 TestNG 插件可能是保留 运行s 历史的好方法。