首页 文章

Jenkins测试结果解析

提问于
浏览
1

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

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

当您使用Post-build操作发布JUnit测试结果报告(在作业的配置页面上找到)时,构建的发布结果(在Jenkins中)的结构将如下所示:

  • <root> ( Headers :包装)

  • <classname> ( Headers : class )

  • <testcasename> ( Headers :测试名称)

此层次结构中没有 <testsuitesname><testsuitename> ,就像在XML文件中一样 .

有没有选择:

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

  • <root>

  • <testsuitesname>

  • <testsuitename>

  • <classname>

  • <testclassname>

要么

  • 以某种方式为 <testcase> 标签添加更多层次结构?

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

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

最好

安迪

1 回答

  • 2

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

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

    • 包裹

    • class

    • 测试名称

    这些可以在 <testcase> -tag中定义如下:

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

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

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

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

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

相关问题