37. JUnit 报告自定义续

嗨冠军! 如果您没有让之前的文章发挥您的想象力,那么我今天将帮助您做到这一点。

添加或删除列
改变风格
在标题部分添加徽标
修改静态文字

添加或删除列

这真是小菜一碟。 添加或删除标签可实现此任务。 让我们来看一个场景,在“All Tests”表中,添加Executed By列。

<!-- method header -->
<xsl:template name="testcase.test.header">
    <xsl:param name="show.class" select="''"/>
    <tr valign="top">
    <xsl:if test="boolean($show.class)">
        <th>Class</th>
    </xsl:if>
        <th>Name</th>
        <th>Status</th>
        <th width="60%">Type</th>
        <th nowrap="nowrap">Time(s)</th>
        <th>Executed By</th>
    </tr>
</xsl:template>

在此模板下,`` 连同现有的栏一起为新创建的“执行者”栏添加一个值。

 <td>
            <xsl:call-template name="display-time">
                <xsl:with-param name="value" select="@time"/>
            </xsl:call-template>
        </td>
        <td>Tester1</td>
    </tr>
</xsl:template>
  • 之前
  • Before adding column
  • 之后
  • After adding a column

改变风格

努力思考如何更改生成的报告中的样式? 无需为此费心! 因为和其他网页一样,我们也有一个 CSS 样式表来处理此报告的样式。 只需在“junit-frames.xsl”文件中搜索名称为“stylesheet.css”的模板即可。

<!-- this is the stylesheet css to use for nearly everything --> 
<xsl:template name="stylesheet.css">

主体,表,标题,栈跟踪,错误,失败,段落,属性的样式均在此模板中指定。 继续前进,戴上帽子! 对 CSS 的每一行进行试验,并查看呈现的更改。 是的,您也可以添加自己的 CSS!

让我们来看一个入门的小示例。 表的详细信息和失败样式如下所示,

table.details tr th{
    font-weight: bold;
    text-align:left;
    background:#a6caf0;
}
.Failure {
    font-weight:bold; color:purple;
}

让我们将这些更改如下:

  1. 所有表格标题均居中对齐
  2. 表格标题行的背景颜色为“绿色黄色”(#ADFF2F
  3. 失败文字颜色变为栗色
table.details tr th{
    font-weight: bold;
    text-align:center;
    background:#ADFF2F;
}
.Failure {
    font-weight:bold; color:maroon;
}
  • 之前
  • Before changing styles
  • 之后
  • After changing the styles

我知道,它看起来并不吸引眼球,但我们证明了我们想要的。 所以,你去了!

在标头部分中添加徽标

我们大多数人都喜欢生成的报告上的徽标。 谁不喜欢个性化和一点营销? 如果您懂一点 HTML,就非常简单。 在名为“pageHeader”的模板上,添加一个图像标签,并在src属性中指定路径。 我已将徽标图像放置在生成index.html文件的项目的“junit”文件夹中。

<xsl:template name="pageHeader">
   <!-- <h1><xsl:value-of select="$TITLE"/></h1>  -->
   <h1>Custom JUnit Report</h1>
    <table width="100%">
    <tr>
        <td align="left"></td>
        <td align="right"><img width="50" height="50" alt="Selenium" src="myLogo.jpg"/> Designed by ninjas!</td>
    </tr>
    </table>
    <hr size="1"/>
</xsl:template>

结果

Adding a Logo

修改静态文本

这是锦上添花(哦!您现在已经知道了)。 要修改报告中显示的任何静态文本,您只需在“junit-frames.xsl”文件中进行更改。 是的,你没看错。 就这么简单!

假设在报告的摘要表中,而不是“测试”,我希望它是“测试数量”。 只需在h2标签上显示“摘要”的正文部分更改文本,

<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
        <tr valign="top">
            <th>Number of Tests</th>
            <th>Failures</th>
            <th>Errors</th>
            <th>Skipped</th>
            <th>Success rate</th>
            <th>Time</th>
        </tr>

结果

Modifying static text

是时候对我们到目前为止所学到的东西进行反思。

下一节:嗨冠军! 到目前为止,我们在报告方面已经涵盖了很多基础,您已经达到了高潮文章。 如果要将 HTML 报告附加到电子邮件并将其发送给利益相关者,则生成 HTML 报告可能没有帮助。 由于 ANT 生成的 JUnit 报告具有index.html文件,该文件又嵌入了其他一些 HTML 文件,例如overview-frame.html,allclass-frame.html和overview-summary.html文件。

在这种情况下我们该怎么办? 我们如何将其附加到电子邮件? 我们不能将其作为单个文件而不是一组 HTML 文件获得吗? – 所有这些问题的唯一答案是,生成一个 PDF 文件。