创建结构化Jenkins失败测试报告

创建结构化Jenkins失败测试报告,jenkins,junit,automation,reporting,Jenkins,Junit,Automation,Reporting,目前的情况: 每周一早上,我都会手动检查Jenkins jobs jUnit在周末运行的结果,使用Project Health插件,我可以对时间框运行进行过滤。然后我将这个表复制粘贴到Excel中,检查每个测试用例的输出日志,查看失败的原因,并记下失败的原因。每个周末在Excel中都有另一个选项卡。所有这些使得可追踪性成为一场噩梦,并导致耗时的体力劳动 我所寻找的(并希望在某种程度上已经存在): 存储我指定的所有作业的所有失败测试的数据库。它解析失败测试用例的输出日志,并根据某些正则表达式,在有

目前的情况:

每周一早上,我都会手动检查Jenkins jobs jUnit在周末运行的结果,使用Project Health插件,我可以对时间框运行进行过滤。然后我将这个表复制粘贴到Excel中,检查每个测试用例的输出日志,查看失败的原因,并记下失败的原因。每个周末在Excel中都有另一个选项卡。所有这些使得可追踪性成为一场噩梦,并导致耗时的体力劳动

我所寻找的(并希望在某种程度上已经存在):

存储我指定的所有作业的所有失败测试的数据库。它解析失败测试用例的输出日志,并根据某些正则表达式,在有关音频的测试失败时应用“标记”,例如“音频”。因为所有东西都在数据库中,所以我可以制作或使用一个前端,可以随意应用过滤器

例如,如果我想查看周末(在多个作业和多次运行中)有关音频失败的所有测试,我可以运行一个查询,返回带有音频标记的所有条目


我可以手动标记失败的测试,原因以及编写自己的前端,是否有办法(也许是Jenkins API?)获取失败的测试(jUnit格式和Jenkins插件),并在不存在的情况下自己创建这样的系统?

一个好问题。不幸的是,在詹金斯很难获得跨越多个岗位的“元统计数据”。目前还没有解决这一问题的办法

基本上,我认为有两种选择可以满足您的需求:

  • 对Jenkins内部数据进行后处理,以获取所需的统计数据
  • 动态向数据库提供构建执行数据
  • 第一个选项基本上意味着自动执行您现在手动执行的任务

    • 您可以使用外部脚本(Python、Perl等)来处理Jenkins内部数据(通过REST或CLI API,或直接读取磁盘数据)
    • 或者在内部运行Groovy脚本(这将更快、更强大)
    这是最直接的方法。但是,根据您需要的统计数据和有关数据持久性的要求,您可能希望

    第二个选项:更灵活,与Jenkins的内部数据存储完全分离。你可以通过

    • 为所有作业引入Groovy后期构建步骤
    • 该脚本解析作业结果,并将感兴趣的数据放入自定义的外部数据库中
    从查询数据库中获得的统计信息


    通常,您可以从第一个选项开始。一旦需求增长,您将慢慢迁移到第二个需求(例如,通过显式后处理脚本收集内部数据,将其放入数据库,然后对其运行查询)。您需要尽可能缩短此迁移阶段,因为它最终需要努力实现这两个选项。

    您可能需要了解一下。这远不是一个完美的匹配,但至少似乎部分实现了你想要实现的目标