jmeter+maven+jenkins报告优化(一):添加90% line和QPS

问题:默认jmeter-results-detail-report_21.xsl报告比较简陋,想要添加一些参数怎么办?

  • 添加90% Line模板

  • <xsl:template name="max">
        <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" order="descending" />
                    <xsl:if test="position() = 1">
                        <xsl:value-of select="number(.)" />
                    </xsl:if>
                </xsl:for-each>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    
    <!-- 90% line time -->
    <xsl:template name="lineTime">
        <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" />
                    <!-- last() 返回当前上下文中的最后一个节点位置数 -->
                    <!-- ceiling(number) 返回大于number的最小整数 -->
                    <!-- floor(number) 返回不大于number的最大整数 -->
                    <!-- position() 返回当前节点位置的数字 -->
                    <!-- number(object) 使对象转换成数字 -->
                    <xsl:choose>
                        <!-- 当只有一个节点时,向上取整 -->
                        <xsl:when test="last() = 1">
                               <xsl:if test="position() = ceiling(last()*0.9)">
                                <xsl:value-of select="number(.)" />
                            </xsl:if>
                        </xsl:when>
                        <xsl:otherwise>
                            <xsl:if test="position() = floor(last()*0.9)">
                                <xsl:value-of select="number(.)" />
                            </xsl:if>
                          </xsl:otherwise>
                    </xsl:choose>
                </xsl:for-each>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
  • 在Sunmary中添加标题

  • <tr valign="top">
                <th># Samples</th>
                <th>Success</th>
                <th>Failures</th>
                <th>Success Rate</th>
                <th>Average Time</th>
                <th>Min Time</th>
                <th>Max Time</th>
                <th>90% Line</th>
                <th>TPS</th>
    </tr>
  • 在Summary中添加allLineTime和qps变量

  • <xsl:variable name="allMaxTime">
                    <xsl:call-template name="max">
                        <xsl:with-param name="nodes" select="/testResults/*/@t" />
                    </xsl:call-template>
                </xsl:variable>
                <!-- New add 90% line -->
                <xsl:variable name="allLineTime">
                    <xsl:call-template name="lineTime">
                        <xsl:with-param name="nodes" select="/testResults/*/@t" />
                    </xsl:call-template>
                </xsl:variable>
                <!-- 将毫秒转换成秒 -->
                <xsl:variable name="qps" select="$allCount * 1000 div $allTotalTime"/>
  • Summary中调用allLineTime和qps变量

  • <td align="center">
                    <xsl:call-template name="display-time">
                        <xsl:with-param name="value" select="$allMaxTime" />
                    </xsl:call-template>
                </td>
                <td align="center">
                    <xsl:call-template name="display-time">
                        <xsl:with-param name="value" select="$allLineTime" />
                    </xsl:call-template>
                </td>
                <td align="center">
                    <xsl:call-template name="display-qps">
                        <xsl:with-param name="value" select="$qps" />
                    </xsl:call-template>
  • 在pagelist中添加标题

  • <xsl:template name="pagelist">
        <h2>Pages</h2>
        <table align="center" class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
            <tr valign="top">
                <th>URL</th>
                <th># Samples</th>
                <th>Success</th>
                <th>Failures</th>
                <th>Success Rate</th>
                <th>Average Time</th>
                <th>Min Time</th>
                <th>Max Time</th>
                <th>90% Line</th>
                <th>TPS</th>
                <th></th>
            </tr>
  • 在pagelist中添加allLineTime和qps变量

  • <xsl:variable name="maxTime">
                    <xsl:call-template name="max">
                        <xsl:with-param name="nodes" select="../*[@lb = current()/@lb]/@t" />
                    </xsl:call-template>
                </xsl:variable>
                <!-- new add 90% line time -->
                <xsl:variable name="nintyTime">
                    <xsl:call-template name="lineTime">
                        <xsl:with-param name="nodes" select="../*[@lb = current()/@lb]/@t" />
                    </xsl:call-template>
                </xsl:variable>
                <xsl:variable name="qpsTime" select="$count * 1000 div $totalTime"/>
  • pagelist中调用allLineTime和qps变量

  • <td align="right">
                        <xsl:call-template name="display-time">
                            <xsl:with-param name="value" select="$maxTime" />
                        </xsl:call-template>
                    </td>
                    <!-- Page页面添加90% LineTime -->
                    <td align="center">
                        <xsl:call-template name="display-time">
                            <xsl:with-param name="value" select="$nintyTime" />
                        </xsl:call-template>
                    </td>
                    <td align="center">
                        <xsl:call-template name="display-qps">
                            <xsl:with-param name="value" select="$qpsTime" />
                        </xsl:call-template>
                    </td>

    最终效果:

  • 附模板下载
  • 链接:https://pan.baidu.com/s/1c3p2vvLxbDivAMxkek582g
    提取码:jqrt

原文地址:https://www.cnblogs.com/greattao/p/12341393.html

时间: 2024-11-06 09:59:49

jmeter+maven+jenkins报告优化(一):添加90% line和QPS的相关文章

Jmeter+Maven+Jenkins+Git接口自动化流程

最近在实现 Jmeter+Maven+Jenkins+Git 接口自动化,研究不到两周,实现了 Jmeter+Maven+Jenkins+Git  接口自动化 的整体流程. 仅以此博客简单记录下自己实现的过程. 一. 职责.角色明确 Jmeter: 执行者,录制接口测试脚本,运行脚本,得到结果,生成报告,统计数据: Maven,Git :管理者, Maven 主要负责项目的依赖管理,Git 主要负责项目的代码管理: Jenkins:调度者,持续集成(CI)工具:构建.部署自动化:可以持续编译,运

Jmeter+maven+Jenkins构建云性能测试平台(mark 推荐)

转自:http://www.cnblogs.com/victorcai0922/archive/2012/06/20/2555502.html Jmeter+maven+Jenkins构建云性能测试平台(一) 最近在利用Jmeter来做一套自动化性能测试框架,做自动化性能测试框架的目的 是希望能够针对系统做一个benchmark的性能测试,能够快速的在每个版本发布后,对该版本进行benchmark性能测试,以比较与上一个版本的性 能是否发生变化,若发生变化便可以快速的通知开发人员以确定性能发生变

第二篇:JMeter+Ant(报告优化)

主要是对HTML报告的优化 如果按JMeter默认设置,生成报告如下: 从上面的运行结果来看,出错之后,很难从报告上去定位问题,定位问题在哪里 优化大致过程: Jmeter默认的报告展示的信息比较少,如果出错了,不是很方便定位问题.其实由.jtl格式转换为.html格式的报告过程中, style文件起了很关键的作用.下面介绍另一种style文件的使用方法: 1.下载style文件:jmeter.results.shanhe.me.xsl 2.把下载的文件放到jmeter的extras目录下. 3

Jmeter+ant+jenkins测试报告优化添加QPS数据显示

首先你要对报告模板xsl里面的结构清楚,这个很重要,这个很重要,这个很重要!!!.重要的事情 说三遍.下次讲这个了 我们来看看没加前报告的样子: 思路(修改xsl报告模板): 1.添加显示的标题 2.  添加变量,并且select里必须是qps的算法公式 3.  调用变量 4.  尾部加一个数据的格式化方法 5.  加完后我们来运行看看报告的展示: 有问题加群交流QQ群:610845268

Jmeter +Maven+jenkins+eclipse 接口自动化测试

背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github,在jenkins配置git下载性能测试的代码,配置运行脚本和测试报告,配置运行失败自动发邮件通知,这样一来性能测试的job配置完成.接着,把性能测试的job配置成开发job的下游job,一旦开发有了新的代码提交运行开发自己的job后,就会自动触发我们性能测试的job.这样我们就实现了接口性能测试的全自动化,我们只需要关注测试失败的邮件! 1 环境搭建 下载安装 jdk &eclip

Jmeter Html 报告优化

转载自南风_real博客园:http://www.cnblogs.com/jaychang/p/5881525.html 但是最近在查阅相关资料时,发现基本都是重复一篇文章Jmeter使用笔记之html报告扩展(一),而且有很多看不明白的地方,于是根据自己需求,在报告中修改了一些,现在整理分享出来. 优化后效果图: 1. 邮件发送html报告有中文时,显示乱码: 修改encoding为"GBK" <xsl:output method="html" indent

pytest-21-pytest-html报告优化(nodeid中文显示[\u6350\u52a9\u6211\u4eec]问题解决)

pytest-html报告中当用到参数化时候,获取用例的nodeid里面有中文时候,会显示[\u6350\u52a9\u6211\u4eec]这种编码(再次声明,这个不叫乱码,这是unicode编码)关于python2和python3里面Unicode编码转化可以参考之前写的一篇[python笔记6-%u60A0和\u60a0类似unicode解码]本篇以python3.6版本为例 遇到问题 官网文档https://github.com/pytest-dev/pytest-html上说明如下:注

Jmeter报告优化之New XSL stylesheet

Jmeter默认的报告展示的信息比较少,如果出错了,不是很方便定位问题.由Jmeter默认报告优化这篇文章可知,其实由.jtl格式转换为.html格式的报告过程中,style文件起了很关键的作用.下面介绍另一种style文件的使用方法: 1.下载style文件:jmeter.results.shanhe.me.xsl 2.把下载的文件放到jmeter的extras目录下. 3.修改jmeter.properties文件如下部分,我这里都修改成true,这样执行完脚本后就会保存这些结果到.jtl文

对性能测试工具JMeter 聚合报告中90% Line的解释说明

聚合报告中90% Line涉及到百分位数的概念,属于统计学术语,定义如下: 如果将一组数据从大到小排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数.可表示为:一组n个观测值按数值大小排列如,处于p%位置的值称第p百分位数. 例如中位数就表示第50百分位数.所以90%Line就好理解了,就是一组数按照由小到大进行排列,找到他的第90%个数P,那么这个数组中有90%的数将小于等于P,(1-90%)的数大于等于P.90%Line在性能测试的响应时间非常有意义,用来表示