TestListenerAdapter,空方法实现 ITestListener  

创建自定义日志记录类

创建另一个新的类名为 CustomListener.java 在 C:\ > TestNG_WORKSPACE

import org.testng.ITestResult;
import org.testng.TestListenerAdapter; public class CustomListener extends TestListenerAdapter{
private int m_count = 0; @Override
public void onTestFailure(ITestResult tr) {
log(tr.getName()+ "--Test method failed\n");
} @Override
public void onTestSkipped(ITestResult tr) {
log(tr.getName()+ "--Test method skipped\n");
} @Override
public void onTestSuccess(ITestResult tr) {
log(tr.getName()+ "--Test method success\n");
} private void log(String string) {
System.out.print(string);
if (++m_count % 40 == 0) {
System.out.println("");
}
} }

创建测试案例类

创建一个Java类为 SampleTest.java 在 C:\ > TestNG_WORKSPACE

import org.testng.Assert;
import org.testng.annotations.Test; public class SampleTest {
@Test
public void testMethodOne(){
Assert.assertTrue(true);
} @Test
public void testMethodTwo(){
Assert.assertTrue(false);
} @Test(dependsOnMethods={"testMethodTwo"})
public void testMethodThree(){
Assert.assertTrue(true);
}
}

前面的测试类包含三种测试方法,其中testMethodOne andtestMethodThree将通过执行时,

而testMethodTwo是通过一个falseBoolean值断言失败。 assertTrue方法,该方法用于在测试中的真值条件。

创建 testng.xml

创建一个文件 testng.xml C:\ > TestNG_WORKSPACE 来执行测试用例

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Simple Logger Suite">
<listeners>
<listener class-name="CustomListener" />
</listeners> <test name="Simple Logger test">
<classes>
<class name="SampleTest" />
</classes>
</test>
</suite>

编译SampleTest,CustomListener类使用javac

C:\TestNG_WORKSPACE>javac CustomListener.java SampleTest.java

现在运行 testng.xml.

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

验证输出

testMethodOne--Test method success
testMethodTwo--Test method failed
testMethodThree--Test method skipped ===============================================
Simple Logger Suite
Total tests run: 3, Failures: 1, Skips: 1
===============================================

我们创建了一个自定义logger类,其中实现ITestListener接口和依附于作为监听器的TestNG测试套件。

TestNG的测试开始时,测试失败,在测试成功,所以这个监听器类的方法调用。

可以实现多个听众,并将其添加到测试套件执行,TestNG的将调用所有侦听器连接到测试套件。

当我们需要看到的连续状态的测试执行,测试时得到执行,主要用于记录监听器。

testng日志 TestListenerAdapter的更多相关文章

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

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

  2. testng日志 ITestListener

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

  3. testng日志和报告

    TestNG是通过 Listeners 或者 Reporters 生成测试报告. Listeners,即 org.testng.ITestListener 的实现,能够在测试执行过程中发出各种测试结果 ...

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

    1.简介 TestNG为日志记录和报告提供的不同选项.现在,宏哥讲解分享如何开始使用它们.首先,我们将编写一个示例程序,在该程序中我们将使用 ITestListener方法进行日志记录. 2.Test ...

  5. 单篇长文TestNG从入门到精通

    简介 TestNG是Test Next Generation的缩写,它的灵感来自于JUnit和NUnit,在它们基础上增加了很多很牛的功能,比如说: 注解. 多线程,比如所有方法都在各自线程中,一个测 ...

  6. 基于WebDriver&TestNG 实现自己的Annotation @TakeScreenshotOnFailure

    相信用过Selenium WebDriver 的朋友都应该知道如何使用WebDriver API实现Take Screenshot的功能. 在这篇文章里,我主要来介绍对failed tests实现 t ...

  7. (转)testng对失败时截图处理

    写这篇微博之前,自动化测试代码中有对于失败测试截图的功能,但是却散落在各个catch语句块中.不便于以后的扩展和维护,AOP思想里说明是面向切面编程,把公共的组件提取出来,可以单独修改维护. 但是直到 ...

  8. Java自动化测试框架-08 - TestNG之并行性和超时篇 (详细教程)

    一.并行性和超时 您可以指示TestNG以各种方式在单独的线程中运行测试. 可以通过在suite标签中使用 parallel 属性来让测试方法运行在不同的线程中.这个属性可以带有如下这样的值: 二.并 ...

  9. selenium遇到异常自动截图

    最近要在框架中添加case失败时,要自动截图,主要又两种方式,思想都是在抛异常的时候,捕获到异常,并作页面截图处理.今天坐下总结. 一.第一种方式,重写onException方法 只针对webdriv ...

随机推荐

  1. swift - 之TabBarController的用法

    TabBarController的使用,下面记录两种写法,代码如下: TabBarItem系统自带图标样式(System)介绍: Custom:自定义方式,配合Selected Image来自定义图标 ...

  2. nohub和重定向文件

    1.如果使用远程连接的Linux的方式并想后台运行执行如下命令: 格式:nohup <程序名> & 比如:nohup /usr/local/collection/bin/start ...

  3. AssetBundle 在Android机子上进行读取 .

    http://game.ceeger.com/Manual/StreamingAssets.html 我看到官方文档中说明:Note that bundles are not fully compat ...

  4. tp5 集成 layui富文本编辑器

    编辑器地址:http://www.layui.com/doc/modules/layedit.html 一睹芳容 1 去官网:http://www.layui.com/     下载layui ├─c ...

  5. Java中UDP协议的基本原理和简单用法

    UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢 ...

  6. Android 生成分享长图并且添加全图水印

    转载自 : http://blog.csdn.net/gengqiquan/article/details/65938021 领导最近觉得携程的截屏生成长图分享效果比较好,所以我们也加了个:产品觉得分 ...

  7. Python学习之k-近邻算法

    1. K-近邻算法 # coding=utf-8 from numpy import * import operator def createDataSet(): group = array([[1. ...

  8. JZOJ.5328【NOIP2017模拟8.22】世界线

    Description

  9. 【BZOJ5101】[POI2018]Powód 并查集

    [BZOJ5101][POI2018]Powód Description 在地面上有一个水箱,它的俯视图被划分成了n行m列个方格,相邻两个方格之间有一堵厚度可以忽略不计的墙,水箱与外界之间有一堵高度无 ...

  10. python 多线程ping大量服务器在线情况

    需要ping一个网段所有机器的在线情况,shell脚步运行时间太长,用python写个多线程ping吧,代码如下: #!/usr/bin/python #coding=utf-8 ''' Create ...