jmeter 报告优化

来源:互联网 发布:联合智业怎么样知乎 编辑:程序博客网 时间:2024/05/16 09:15

之前使用ant进行编译jmeter脚本时,需要输出测试报告,而网上和jmeter提供了两种报告模板,一种是jmeter.results.shanhe.me.xsl,可以查看到某个请求的具体数据和响应数据,适合接口测试的单次执行。另一种是jmeter2.*自带的模板jmeter-results-detail-report_21.xsl,这个可以查看请求的平均响应时间、最大最小响应时间,显示的数据很少。但是做简单性能测试时,这些数据还是有用的。

所以我模拟jmeter GUI工具的显示效果,增加了50%Line、90%Line、Throughput、QPS的显示,这样使用ant运行jmeter进行简单性能测试时,输出的报告数据就完善点。

报告截图:



部分代码解释(需要学习xslt知识):

<xsl:variable name="MedianTime"><xsl:call-template name="LineTime"><xsl:with-param name="nodes" select="../*[@lb = current()/@lb]/@t" /><xsl:with-param name="position" select="ceiling($count * 0.5)" /></xsl:call-template></xsl:variable>

MedianTime:属于自定义变量,声明50%响应时间的变量名。

LineTime:用于调用的模板,可以通过调用这个模板,获取xpath查找到的数据。

nodes:传递给模板的值。通过$nodes引用。


<xsl:template name="LineTime"><xsl:param name="nodes" select="/.." /><xsl:param name="position" /><xsl:choose><xsl:when test="not($nodes)">NaN</xsl:when><xsl:otherwise><xsl:for-each select="$nodes"><xsl:sort data-type="number" /><xsl:if test="position() = $position"><xsl:value-of select="number()" /></xsl:if></xsl:for-each></xsl:otherwise></xsl:choose></xsl:template>
这里就是根据上面声明的值,引用和获取数据。

for-each :循环查询nodes里xpath匹配出来的数据。

data-type:number类型。

value-of:赋值。

<td align="right"><xsl:call-template name="display-time"><xsl:with-param name="value" select="$MedianTime" /></xsl:call-template></td>
这里比较明显,就是根据查询的MedianTime,赋值到td表单。

完整的模板文档下载地址:http://note.youdao.com/share/?id=95e45157537f9131e34963f89e64b74f&type=note#/

原创粉丝点击