Java自动化测试框架-06 - 来给你的测试报告化个妆整个形 - (下)(详细教程)
简介
经过上一次的化妆和整形,有客户提出需求能不能将那个普通会员的套餐再升级一下,再漂亮一点。所以这次咱们就来看看从哪里下刀可以使它变得再漂亮一点点。
上一篇文章修改了一些基本的ReportNG信息,链接:Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上),本文将继续带大家进行修改,重点是添加饼图,将从普通会员升级到VIP会员。
经过上次的整容恢复的差不多了,宏哥继续带领下伙伴们和同学们折腾,给reportng来个二次开刀。
第一刀
1、修改测试结果顺序,修改TestResultComparator类compare方法
2、参考代码
//=============================================================================
// Copyright 2006-2013 Daniel W. Dyer
//
// Licensed under the Apache License, Version 2.0 (the “License”);
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an “AS IS” BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//=============================================================================
package org.uncommons.reportng;
import java.util.Comparator;
import org.testng.ITestResult;
/**
- Comparator for sorting TestNG test results alphabetically by method name.
- @author Daniel Dyer
*/
class TestResultComparator implements Comparator
{
// public int compare(ITestResult result1, ITestResult result2)
// {
// return result1.getName().compareTo(result2.getName());
// }
public int compare(ITestResult result1, ITestResult result2)
{
//按照名称排序显示
// return result1.getName().compareTo(result2.getName());
//按照运行时间排序显示
int longresult2 = 0;
if(result2.getStartMillis()<result2.getStartMillis()){
longresult2 = -1;
}else{
longresult2 = 1;
}
return longresult2;
}
}
第二刀
1、添加饼图,在overview.html.vm添加
2、参考代码
第三刀
1、继续在overview.html.vm添加
2、参考代码
第四刀
1、给通过总数,失败总数和跳过总数添加id属性之前添加,找到#if($totalPassed>0),为td标签,添加id属性,如下:
第五刀
1、添加饼图js代码,添加在之前即可
2、参考代码
包扎缝合
这次的包扎缝合宏哥给你们换另一个方式通过ant来导出jar。ant的安装和配置在上一篇大家都可以看到的,这里就不赘述了。
1、进入代码目录,将其build.xml的jar包版本修改成1.1.8
2、导出jar包。成功。
3、到哪个目录下找到jar包。
4、新建项目引用jar包。
术后恢复效果图:
小结
1、小伙伴可能按照宏哥的步骤操作到最后也会一脸懵逼的发现我的饼图在哪里,给谁吃掉了。来跟随宏哥看看,到底是被谁吃掉了。
(1)首先宏哥看了一看修改的代码,复查了一遍没有问题。
(2)完了宏哥突然发现有一段引入图标插件的js的代码:是通过一个网址引入的就是在动第二刀的时候,然后宏哥就试着访问网址:http://www.ichartjs.com/ichart.latest.min.js,结果悲剧了访问到如下:
(3)到这里宏哥就确定引入的JS有问题了,所以饼图没有出现那么我们网址访问不到,那么就下载一个到本地,在本地访问
(4)完成以后,宏哥就开始导出jar包,然后引入jar包以后,仍然没有出现饼图。
(5)完了宏哥就抱着试一试的心理,把js拷贝到测试报告的文件夹中,再次看测试报告。
(6)饼图出现了,原来是js还是没有被引入,先前做的仅仅是将js引入jar包,而没有引入测试报告,要想引入测试报告还的修改一个地方的代码,仿照上边CSS和JS的引入,如下:
(7)再次导出jar包,测试报告的饼图就出现了。
2、好了,关于这个就到这里了。
Java自动化测试框架-06 - 来给你的测试报告化个妆整个形 - (下)(详细教程)相关推荐
- Java自动化测试框架-05 - 来给你的测试报告化个妆整个形 - (上)(详细教程)
简介 前边通过宏哥的讲解和分享想必小伙伴们和童鞋们都已经见过testng框架生成的测试报告,是不是它的样子和长相实在是不敢让大家伙恭维.那么今天宏哥就当一回美容师,由宏哥来给它美美容:当一回外科医生, ...
- hyfsoft java_Java自动化测试框架-04 - 来给你的测试报告化个妆整个形 - (上)(详细教程)...
简介 前边通过宏哥的讲解和分享想必小伙伴们和童鞋们都已经见过testng框架生成的测试报告,是不是它的样子和长相实在是不敢让大家伙恭维.那么今天宏哥就当一回美容师,由宏哥来给它美美容:当一回外科医生, ...
- Java自动化测试框架-11 - TestNG之annotation与并发测试篇 (详细教程)
1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执 ...
- java自动化测试框架基础eclipse+maven配置
java自动化测试框架基础eclipse+maven配置 文章目录 java自动化测试框架基础eclipse+maven配置 一.maven安装配置 二.eclipse中使用maven 一.maven ...
- java客户端程序用什么自动化测试_五大Java自动化测试框架
51CTO官微 技术资讯/行业精华/产品心得 多年来,Java一直是服务器端应用开发的首选编程语言.随着时间的推移和自动化测试的兴起,业界出现了许多基于Java,并根据不同的业务逻辑而发展起来的开源框 ...
- Java自动化测试框架-01 - TestNG之入门篇 - (详细教程)
TestNG是什么? TestNG按照官方的定义: TestNG是一个测试框架,其灵感来自JUnit和NUnit,但引入了一些新的功能,使其功能更强大,使用更方便. TestNG是一个开源自动化测试框 ...
- 给接口自动化测试框架增色,实现企业微信测试报告
作者在新项目中搭建了python+requests+unittest+HTMLTestRunner接口自动化测试框架,通过修改配置文件实现环境隔离,一份脚本即可在不同的环境执行接口测试用例. 但是没有 ...
- Java自动化测试框架-12 - TestNG之xml文件详解篇 (详细教程)
1.简介 现在这篇,我们来学习TestNG.xml文件,前面我们已经知道,TestNG就是运行这个文件来执行测试用例的.通过本篇,你可以进一步了解到:这个文件是配置测试用例,测试套件.简单来说,利用这 ...
- Java自动化测试框架-10 - TestNG之测试结果篇(详细教程)
1.-测试结果 1.1-成功,失败和断言 测试被认为是成功的,如果它不引发任何异常完成,还是它扔的预期异常(请参阅文档expectedExceptions属性上找到的@Test注释). 您的测试方法通 ...
最新文章
- html实时显示log,websocketd 实现浏览器查看服务器实时日志
- php ad 管理工具,打开AD管理工具连接到指定DC
- 英特尔披露人工智能战略
- mangodb collection level operations
- XamarinSQLite教程创建数据库
- Silverlight 参考:三维效果(透视转换) -- MSN
- A组包含的前导码数( sizeOfRA-PreamblesGroupA)
- Python中import和from......import的区别
- 【小题目】写JAVA程序时可以创建一个名为123.java的源文件吗
- hdu 2018多校8
- nodejs连接池 连接关闭_「转」连接池居然这么简单?
- xml引入约束示例(xsd文件)
- 水仙花数c语言程序解析,C语言求水仙花数代码解析
- Socket 编程实战
- 博客程序PHP,10个开源的PHP blog 博客程序推荐
- 面试逻辑题 三个精灵说真话假话的判断难题
- 上海市新能源汽车分时租赁规划策略研究
- Axure插入ArcGIS地图或天地图
- 指纹的对比分析系统概述
- Pseudo-LiDAR 利用双目进行3D目标检测
热门文章
- 事后分析报告(M2阶段)
- 旋转立方体(opengl)
- 服务器控件的 ID, ClientID 和 UniqueID 属性
- html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia
- python 中参数*args, **kwargs
- [SQL]UNPIVOT 多個欄位
- HDU 4296 Buildings
- 《设计模式——基于C#的工程化实现及扩展》
- SpringBoot2.x配置全局异常和自定义异常
- selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)