·自定义报告模板:
由于默认的ant提供的报告模板,是没有tps和90%line这样的数据。
可是在实际工做中,这两个统计数据又是必须的,那么咱们能够经过自定义(修改)的方式来进行修改,达到咱们的目的。node
ant的报告模板采用的xlst语法来对jmeter的xml类型的结果进行的操做。中间元素定位的方式是和xpath基本一致。工具
·TPS:每秒事务数。
工具是如何计算的每秒事务数呢?
TPS=总的事务数/总的执行时间(场景时间)
总的执行时间=最后的启动时间-最开始的启动时间+最后一个请求的响应时间。xml
·在Jmeter的结果文件jtl中,t属性表示请求的响应时间,ts属性表示请求的开始时间。事务
操做:
一、添加Summary的列名。
<!-- add -->
<th>Last Time</th>
<th>每秒事务数</th>it
二、添加对应数据。
获取场景开始时间。表示将全部的ts属性的值传入
<xsl:variable name="startTime">
<xsl:call-template name="sTime">
<xsl:with-param name="nodes" select="/testResults/*/@ts" />
</xsl:call-template>
</xsl:variable>io
template模板以下:
<xsl:template name="sTime">
<xsl:param name="nodes" select="/.." />
<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() = 1">
<xsl:value-of select="number(.)" />
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>ast
添加数据列。
<!-- lastTime -->
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$lastTime" />
</xsl:call-template>
</td>
<!-- QPS -->
<td align="right">
<xsl:call-template name="display-tps">
<xsl:with-param name="value" select="$tps" />
</xsl:call-template>
</td>模板
·90%line这样的数据。
这个叫用户体验数据。百分比能够修改。
90%line=将全部的响应时间数据,从小到大排列,取位置为90%的值。
所以本质上也是获取响应时间,只是要获取特定位置的数据,和获取最小和最大响应时间是接近的。
区别在于:
最小响应时间:位置是1
90%line响应时间:位置是 round($allcount*0.9)test