当前位置: 首页 > 知识库问答 >
问题:

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

郎建章
2023-03-14

目前的情况:

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

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

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

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

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

共有2个答案

董琦
2023-03-14

您可能想看看couchdb统计数据。这远不是一个完美的配合,但至少似乎部分实现了你想要实现的目标。

屈昊天
2023-03-14

一个好问题。不幸的是,在詹金斯中很难获得跨越多个工作的“元统计”。目前还没有现成的解决办法。

基本上,我认为有两种选择可以得到你想要的:

  1. 对Jenkins内部数据进行后处理,以获得所需的统计数据
  2. 动态地向数据库提供构建执行数据

第一个选项基本上意味着自动化您现在手动完成的任务。

  • 您可以使用外部脚本(Python、Perl、...)来处理Jenkins内部数据(通过REST或CLI API,或直接读取磁盘数据)
  • 或者您在内部运行Groovy脚本(这将更快、更强大)

这是最直接的方法。但是,根据您需要的统计数据以及您对数据持久性的要求,您可能想要...

第二种选择:更灵活,与Jenkins的内部数据存储完全分离。您可以通过以下方式实现它:

  • 为您的所有作业引入Groovy构建后步骤
  • 该脚本解析作业结果并将感兴趣的数据放入自定义的外部数据库中

从查询数据库中获得的统计数据。

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

 类似资料:
  • 问题内容: 我已经设置了一个Jenkins服务器来运行Selenium测试。生成脚本是用Ant(CentOS 6.3上的v 1.7.1)编写的,并且测试在Sauce Labs上运行。我通过外壳执行构建: 问题是测试失败时,詹金斯(Jenkins)将其标记为成功。我可以通过将设置为来避免这种情况,请参阅: 但是,这并不理想,因为Jenkins会在遇到第一个故障时终止构建。构建完成后是否可以检查失败,

  • 我已经设置了一个Jenkins服务器来运行Selenium测试。构建脚本是用Ant(CentOS 6.3上的V1.7.1)编写的,测试在Sauce实验室上运行。我通过shell执行构建:

  • 我有以下问题: 基于jenkins的构建不起作用,因为ui测试无法运行(此时需要部署应用程序) jenkins如何在此时部署程序,以便应用程序能够运行selenium测试?

  • 我正在jenkins上运行一组测试,我得到以下结果: 好的东西告诉我行: maven-surefire-插件: 2.16是这里的问题,所以这里是我的pom文件检查: 我已经检查了maven仓库中的插件,我看到的唯一区别是插件标签中有插件,而在网站中它是在依赖标签中。 这里可能有什么错误? 谢谢 注:抱歉纯文本,但我不知道如何给代码上色=/

  • ----maven-enforcer-plugin:1.0.1:enforce(default)@cli---添加ignore:org.eclipse.jetty.spdy.* ----maven-enforcer-plugin:1.0.1:enforce(enforce-bang-dependencies)@cli-- ---build-helper-maven-plugin:1.7:times

  • 问题内容: 我正在使用Jenkins,Maven 3.1和Java 1.6。我在詹金斯(Jenkins)建立了以下Maven职位,并具有以下目标和选择… 下面是我的pom.xml surefire配置… 但是,当我的单元测试失败时,Jenkins控制台输出仍然显示“ BUILD SUCCESS”,并且该构建被标记为“不稳定”,而不是完全失败。我如何在Jenkins(如果事实如此,则为Maven)中