Jenkins测试结果解析

时间:2016-06-30 09:09:01

标签: xml testing jenkins junit

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

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

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

  1. <root>(标题:包)
  2. <classname>(标题:课程)
  3. <testcasename>(标题:测试名称)
  4. 此层次结构中没有<testsuitesname><testsuitename>,就像在XML文件中一样。

    是否有任何选择:

    1. <testsuitesname><testsuitename>添加到Jenkins构建的测试结果发布层次结构中的层次结构中:

      1. <root>
      2. <testsuitesname>
      3. <testsuitename>
      4. <classname>
      5. <testclassname>
      1. 以某种方式为<testcase>代码添加更多层次结构?
      2. 背景:因为我的测试结果非常大(大量)我想为它添加更多的层次结构/结构而不仅仅是两个级别(就像现在这样)以获得对所有这些结果的更多概述。

        任何人都可以帮我或者有类似的问题吗?

        最佳

        安迪

1 个答案:

答案 0 :(得分:3)

不幸的是,我找不到简单的答案来改变Jenkins在构造测试结构方面的不同行为。但是,我发现我的案例有所改进,我想分享。

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

  1. 封装
  2. 测试名称
  3. 可以在<testcase> - 标签中定义,如下所示:

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

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

    请记住,只允许一个点。只能通过添加更多点来在classname标记中添加更多“分隔部分”,从而无法创建更深层次的层次结构。如果点数多于一个,则最后一个计数。

    这是一个“完整”的例子:

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