TestNG是通过 Listeners 或者 Reporters 生成测试报告。

  • Listeners,即 org.testng.ITestListener 的实现,能够在测试执行过程中发出各种测试结果的事件;
  • Reporters,即 org.testng.IReporter 的实现,能够在所有的测试套件执行完毕后发出测试结果的事件,其中包括多个描述测试结果的对象。

1. ITestListener---------------

ITestListener 是所有监听器中最常用的一个,也是最重要的一个。该接口的继承关系如下图所示:

这里有个TestListenerAdapter 实现类,该类以空方法(即未实际实现)实现了 ITestListener 接口的全部方法。

编写ITestListener接口的实现时,为了避免实现不必要的接口方法,我们往往只要扩展TestListenerAdapter类即可。

事实上,除了JUnitXMLReporter之外,其他几个***Reporter都是扩展自TestListenerAdapter类。

而 JUnitXMLReporter 就是一个JUnit的XML格式的报告生成器。

ITestListener 接口中定义的方法如下:

2.IReporter-------------------

IReporter 接口也是继承自 ITestNGListener 接口,用于生成报表。该接口中只定义了一个方法:

void generateReport(Java.util.List<XmlSuite> xmlSuites, java.util.List<ISuite> suites, java.lang.String outputDirectory);

该方法可以在指定目录下为指定的测试套件生成报表。

该方法在TestNG执行完所有的测试套件后被调用,方法中的参数包含所有的测试结果。

testng日志和报告的更多相关文章

  1. 《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志-上篇(详解教程)

    1.简介 TestNG还为我们提供了测试的记录功能-日志.例如,在运行测试用例期间,用户希望在控制台中记录一些信息.信息可以是任何细节取决于目的.牢记我们正在使用Selenium进行测试,我们需要有助 ...

  2. [唐胡璐]Selenium技巧- ReportNG替换TestNG默认结果报告

    TestNG默认的报告虽然内容挺全,但是展现效果却不太理想,不易阅读。因此我们想利用ReportNG来替代TestNG默认的report。 什么是ReportNG呢?这里不多说,请直接参见:http: ...

  3. python 分析慢查询日志生成报告

    python分析Mysql慢查询.通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告. #!/usr/bin/env pyth ...

  4. testng日志 ITestListener

    上一节我们写一个日志类 extends   TestListenerAdapter ----------TestListenerAdapter 是 ITestListener 实现的一个类 这一节,我 ...

  5. testng自定义html报告,根据freemaker生成

    [转] https://testerhome.com/topics/3487 [参考]https://www.cnblogs.com/cheese320/p/8890929.html  做了些修改,换 ...

  6. testng日志 TestListenerAdapter

    TestListenerAdapter,空方法实现 ITestListener   创建自定义日志记录类 创建另一个新的类名为 CustomListener.java 在 C:\ > TestN ...

  7. 使用reportNG替换testNG的默认报告

    关于reportng的官网介绍:http://reportng.uncommons.org/ 1.下载reportNG的jar包:http://pan.baidu.com/s/1hq5znLU 2.r ...

  8. reportng代替testng的默认报告——pom设置

    既然是maven项目,直接关注pom设置. 这篇写得很清楚了:maven+testng+reportng的pom设置 强调一点的是,guice必须依赖,就因这个卡了大半天. <dependenc ...

  9. 网站安全分析:恶意DOS脚本日志分析报告

    http://www.chinaz.com/web/2012/0820/270205.shtml http://www.searchdatacenter.com.cn/showcontent_5817 ...

随机推荐

  1. 创建ros的程序包--3

    创建ros的程序包(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/) 1.一个catkin程序包由什么组成? 一个程序包要想称为catkin程序 ...

  2. scala函数进阶篇

    1.求值策略scala里有两种求值策略Call By Value -先对函数实参求值,在函数体中用这个求出的参数值.Call By Name -先不对函数实参求值,而是函数实参每次在函数体内被用到时都 ...

  3. 在SQL数据库中怎么去掉某一列的中的一写特殊字符

    用REPLACE函数,把空格替换成 ''. 例:去除 表table 中 col 列的空字符去除空格符:update table set col = REPLACE(col,' ','') 还有tab制 ...

  4. 【PHP】 解决报错:Error: php71w-common conflicts with php-common-5.4.16-43.el7_4.x86_64

    背景: 手动安装的PHP7 环境 问题:在安装扩展的时候.无论输入 php-*  来安装任何扩展.都会报错 Error: php71w-common conflicts with php-common ...

  5. JS-利用ajax获取json数据,并传入页面生成动态tab

    封装好的:ajax.js function ajax(url, fnSucc,fnFaild){ //1[创建] if(window.XMLHttpRequest){ var oAjax = new ...

  6. python中的configparser类

    Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置),所以可以自己写一个函数,实现读取config配置. config文件的写法比较简单,[sect ...

  7. 170628、springboot编程之Druid数据源和监控配置一

    Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource,那么如何修改数据源呢?我已目前使用比较多的阿里数据源Druid为例,如果使用其他的数 ...

  8. Feature Toggle JUnit

    Feature Toggle,简单来说,就是一个开关,将未完成功能的代码屏蔽后发布到生产环境,从而避免多分支的情况.之所以有本文的产生,就是源于此情景.在引入Feature Toggle的同时,我们发 ...

  9. sqlserver字符串多行合并为一行

    --创建测试表 CREATE TABLE [dbo].[TestRows2Columns]( [Id] [,) NOT NULL, [UserName] [nvarchar]() NULL, [Sub ...

  10. Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口

    对象的序列化就是将对象写入输出流中. 反序列化就是从输入流中将对象读取出来. 用来实现序列化的类都在java.io包中,我们常用的类或接口有: ObjectOutputStream:提供序列化对象并把 ...