jmeter-results-report_21.xsl
HTML レポートにテスト ケース名を表示するために、いくつかの変更を加えました。ブラウザーで直接開くと問題なく動作しますが、ant を使用してレポートを生成すると、ページの上部にあるケース テスト名と上記の URL がグループ化されます。for がネストされていない場合と同様です。
<xsl:for-each select="/testResults/*[not(@tn = preceding::*/@tn)]">
<xsl:variable name="labelCaso" select="@tn" />
<tr><xsl:value-of select="$labelCaso" /></tr>
<xsl:for-each select="/testResults/*[not(@lb = preceding::*/@lb)] ">
<xsl:variable name="label" select="@lb"/>
<xsl:variable name="count" select="count(../*[@lb = current()/@lb] [attribute::tn=$labelCaso])" />
<xsl:variable name="failureCount" select="count(../*[@lb = current()/@lb][attribute::s='false'][attribute::tn=$labelCaso])" />
<xsl:variable name="successCount" select="count(../*[@lb = current()/@lb][attribute::s='true'][attribute::tn=$labelCaso])" />
<xsl:variable name="successPercent" select="$successCount div $count" />
<xsl:variable name="totalTime" select="sum(../*[@lb = current()/@lb][attribute::tn=$labelCaso]/@t )" />
<xsl:variable name="averageTime" select="($totalTime div $count)" />
<xsl:variable name="minTime">
<xsl:call-template name="min">
<xsl:with-param name="nodes" select="../*[@lb = current()/@lb][attribute::tn=$labelCaso]/@t" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="maxTime">
<xsl:call-template name="max">
<xsl:with-param name="nodes" select="../*[@lb = current()/@lb][attribute::tn=$labelCaso]/@t" />
</xsl:call-template>
</xsl:variable>
<tr valign="top">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$failureCount > 0">Failure</xsl:when>
</xsl:choose>
</xsl:attribute>
<td>
<xsl:value-of select="$label" />
</td>
<td align="center">
<xsl:value-of select="$count" />
</td>
<td align="center">
<xsl:value-of select="$failureCount" />
</td>
<td align="right">
<xsl:call-template name="display-percent">
<xsl:with-param name="value" select="$successPercent" />
</xsl:call-template>
</td>
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$averageTime" />
</xsl:call-template>
</td>
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$minTime" />
</xsl:call-template>
</td>
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$maxTime" />
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</xsl:for-each>