reportng定制修改

定制目的

最近接口测试和UI自动化测试都有用到reportng来做测试报告的展示,发现了几个不是很方便的地方:

  • 报告没有本地化的选项
  • 主页的测试结果显示的不够清晰
  • 测试详情中的结果是按照名称排列的,想用执行顺序显示
  • 测试结果中添加日志

Reportng源码地址

添加日志

测试结果添加日志,直接在测试代码中添加Reporter.log("reportng日志显示");
显示在report的Log Output中的效果:
log1.png
显示在report的详情中的效果:
log2.png

本地化修改

获取源码,修改reportng.properties文件,reportng.properties中的内容是键值对,修改后面的值为中文即可。

passed=通过

修改测试结果顺序

需要修改TestResultComparator类,参考链接

class TestResultComparator implements Comparator<ITestResult> {
    public int compare(ITestResult result1, ITestResult result2) {
        // 按照名称排序显示
        // return result1.getName().compareTo(result2.getName());

        // 按照运行时间排序显示
        int longresult2 = 0;
        if (result1.getStartMillis() < result2.getStartMillis()) {
            longresult2 = -1;
        } else {
            longresult2 = 1;
        }
        return longresult2;
    }
}

主页添加饼图显示

主页的饼图用的是ichart开源图形组件.
主页的概括显示在overview.html.vm页面当中,先在文件中导入ichart组件。

<script src='http://www.ichartjs.com/ichart.latest.min.js'></script>

添加饼图的标签

<div id='ichart-render'></div>

给通过总数,失败总数和跳过总数添加id属性

#if ($totalPassed > 0)
<td id="tpn" class="passed number">$totalPassed</td>
#else
<td id="tpn" class="zero number">0</td>
#end

#if ($totalSkipped > 0)
<td id="tsn" class="skipped number">$totalSkipped</td>
#else
<td id="tsn" class="zero number">0</td>
#end

#if ($totalFailed > 0)
<td id="tfn" class="failed number">$totalFailed</td>
#else
<td id="tfn" class="zero number">0</td>
#end

添加饼图显示的js代码

<script type='text/javascript'>
pcount=document.getElementById("tpn").innerHTML;
fcount=document.getElementById("tfn").innerHTML;
scount=document.getElementById("tsn").innerHTML;
$(function(){
     var chart = iChart.create({
           render:"ichart-render",
           width:800,
           height:400,
           background_color:"#fefefe",
           gradient:false,
           color_factor:0.2,
           border:{
                 color:"BCBCBC",
                 width:0
           },
           align:"center",
           offsetx:0,
           offsety:0,
           sub_option:{
                 border:{
                       color:"#BCBCBC",
                       width:1
                 },
                 label:{
                       fontweight:500,
                       fontsize:11,
                       color:"#4572a7",
                       sign:"square",
                       sign_size:12,
                       border:{
                             color:"#BCBCBC",
                             width:1
                       }
                 }
           },
           shadow:true,
           shadow_color:"#666666",
           shadow_blur:2,
           showpercent:false,
           column_width:"70%",
           bar_height:"70%",
           radius:"90%",
           subtitle:{
                 text:"",
                 color:"#111111",
                 fontsize:16,
                 font:"微软雅黑",
                 textAlign:"center",
                 height:20,
                 offsetx:0,
                 offsety:0
           },
           footnote:{
                 text:"",
                 color:"#111111",
                 fontsize:12,
                 font:"微软雅黑",
                 textAlign:"right",
                 height:20,
                 offsetx:0,
                 offsety:0
           },
           legend:{
                 enable:false,
                 background_color:"#fefefe",
                 color:"#333333",
                 fontsize:12,
                 border:{
                       color:"#BCBCBC",
                       width:1
                 },
                 column:1,
                 align:"right",
                 valign:"center",
                 offsetx:0,
                 offsety:0
           },
           coordinate:{
                 width:"80%",
                 height:"84%",
                 background_color:"#ffffff",
                 axis:{
                       color:"#a5acb8",
                       width:[1,"",1,""]
                 },
                 grid_color:"#d9d9d9",
                 label:{
                       fontweight:500,
                       color:"#666666",
                       fontsize:11
                 }
           },
           label:{
                 fontweight:500,
                 color:"#666666",
                 fontsize:11
           },
           type:"pie2d",
           data:[
                 {
                 name:"通过",
                 value:pcount,
                 color:"#44aa44"
           },{
                 name:"失败",
                 value:fcount,
                 color:"#ff4444"
           },{
                 name:"跳过",
                 value:scount,
                 color:"#FFD700"
           }
           ]
     });
     chart.draw();
});
</script>

饼图显示效果:
%E9%A5%BC%E5%9B%BE%E6%98%BE%E7%A4%BA.png

修改完后的代码地址

使用修改后的reportng

jar包下载

<!-- 依赖reportNg 关联testNg -->
        <dependency>
            <groupId>org.uncommons</groupId>
            <artifactId>reportng</artifactId>
            <version>1.1.5</version>
            <scope>system</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.testng</groupId>
                    <artifactId>testng</artifactId>
                </exclusion>
            </exclusions>
            <systemPath>${project.basedir}/lib/reportng-1.1.5.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.4</version>
        </dependency>

转载于:https://www.cnblogs.com/xiaomingtx/p/5633584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值