jmeter+maven+jenkins报告优化(二):解决date not defined
问题:在Jenkins生成的报告没有显示日期:Date report: date not defined,
网上的资料都是ant的,试了下好像都不行,看起来也挺麻烦。
解决方案:因为我的报告是用xsltproc生成的,网上查了下资料,发现xsltproc可以插入当前日期并传参给XSL内部。
参考如下:
<xsl:param name="current-date" />
例如,在bash脚本中,使用:
xsltproc --stringparam current-date `date +%Y-%m-%d` -o output.html path-to.xsl path-to.xml
然后,可以在xsl中使用:
<xsl:value-of select="$current-date"/>
这就好办了,修改测试报告模板jmeter-results-detail-report_21.xsl:
(1)修改param name值:<xsl:param name="current-date"
<xsl:param name="showData" select="'y'"/>
<xsl:param name="titleReport" select="'Load Test Results'"/>
<xsl:param name="current-date" select="'date not defined'"/>
(2)修改value值:<xsl:value-of select="$current-date"/>
<xsl:template name="pageHeader">
<h1><xsl:value-of select="$titleReport" /></h1>
<table width="100%">
<tr>
<td align="left">Date report: <xsl:value-of select="$current-date" /></td>
<td align="right">Designed for use with <a href="http://jmeter.apache.org/">JMeter</a> and <a href="http://ant.apache.org">Ant</a>.</td>
</tr>
</table>
<hr size="1" />
</xsl:template>
(3)修改Jenkins配置,添加shell命令:(PS:记得空格要转码,调试了好久~哭)
具体命令如下:
/usr/bin/xsltproc --stringparam current-date "`date +%Y-%m-%d\ %H:%M:%S`" -o $WORKSPACE/target/jmeter/results/testdemo.html $WORKSPACE/src/test/resources/jmeter-results-detail-report_21.xsl $WORKSPACE/target/jmeter/results/testdemo.jtl
最终结果如下:时间出来了(真香~)
信用*创新*价值
作者:大道QA团队*大东哥
版权所有,转载请注明出处:http://www.cnblogs.com/greattao
作者:大道QA团队*大东哥
版权所有,转载请注明出处:http://www.cnblogs.com/greattao