【问题标题】:Jenkins test result parsingJenkins测试结果解析
【发布时间】:2016-07-05 18:08:28
【问题描述】:

我有一个 Jenkins 有很多工作。这些作业执行测试并以 XML 格式生成测试输出。那些 XML 测试结果看起来 - 非常标准 - 像这样:

<testsuites name="testsuitesname">
  <testsuite name="testsuitename">
    <testcase classname="classname" name="testcasename">
      blabla
    </testcase>
  </testsuite>
</testsuites>

当您使用 构建后操作 发布 JUnit 测试结果报告(可在作业的配置页面上找到)这些已发布构建结果的结构(在詹金斯)将是这样的:

  1. &lt;root&gt;(标题:包)
  2. &lt;classname&gt;(标题:班级)
  3. &lt;testcasename&gt;(标题:测试名称)

在这个层次结构中没有&lt;testsuitesname&gt;&lt;testsuitename&gt;,就像在 XML 文件中一样。

是否有任何选择:

  1. &lt;testsuitesname&gt;&lt;testsuitename&gt; 添加到Jenkins 构建的测试结果发布层次结构的层次结构中:

    1. (&lt;root&gt;)
    2. &lt;testsuitesname&gt;
    3. &lt;testsuitename&gt;
    4. &lt;classname&gt;
    5. &lt;testclassname&gt;

  1. 以某种方式向&lt;testcase&gt; 标记添加更多层次结构?

背景:因为我的测试结果非常大(大量),我想为其添加更多层次结构/结构,而不仅仅是两个级别(就像现在一样)以获得对所有这些结果的更多概述。

任何人都可以帮助我或遇到类似的问题吗?

最好的

安迪

【问题讨论】:

  • 嗨 Gerold - 此选项在您在构建后操作下创建或配置的每个作业中。

标签: xml testing jenkins junit


【解决方案1】:

不幸的是,我没有找到简单的答案来改变 Jenkins 在构建不同的测试结构时的行为。但是,我发现我想分享的情况有所改善。

Jenkins中测试结果的层次结构如下:

  1. 测试名称

这些可以在&lt;testcase&gt;-tag 中定义如下:

<testcase classname="packagename.classname" name="testname">

因此,您可以在“名称”中定义层次结构的最后一部分 - 测试名称。在“类名”中,您可以定义层次结构的前两部分——包和类,用点分隔。

请记住,只允许一个点。仅通过添加更多点来仅通过在类名标记中添加更多“分隔部分”来创建更深的层次结构是不可能的。如果点数多于一个,则最后一个计数。

所以一个“完整”的例子:

<testsuites name="testsuitesname">
  <testsuite name="testsuitename">
    <testcase classname="packagename.classname" name="testname">
      blabla
    </testcase>
  </testsuite>
</testsuites>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多