zoukankan      html  css  js  c++  java
  • TestNG中 ITestListener 的使用

    1.关于testng中ITestListener 的相关介绍文档,请参考:

    http://javadox.com/org.testng/testng/6.8.7/org/testng/ITestListener.html

    2.ITestListener 的实际相关应用

    import org.testng.ITestContext;
    import org.testng.ITestListener;
    import org.testng.ITestResult;
    
    //implements实现接口ITestListener
    public class customListener implements ITestListener{
        
        public void onFinish(ITestContext context) {
            System.out.println("finish test");
        }
    
        public void onStart(ITestContext context) {
            System.out.println("start test");
        }
        
        public void onTestFailedButWithinSuccessPercentage(ITestResult result) {
            System.out.println("Result fail but with success percentage");
        }
    
        @Override
        public void onTestFailure(ITestResult result) {
            System.err.println(result.getTestClass().getName() + "." + result.getMethod().getMethodName() + " : failed");
            
        }
        @Override
        public void onTestSkipped(ITestResult result) {
            System.err.println(result.getTestClass().getName() + "." + result.getMethod().getMethodName() + " : skipped");
            
        }
    
    
        public void onTestStart(ITestResult result) {
            System.out.println("***start on test***"+ result.getMethod().getMethodName() );
    
        }
    
        public void onTestSuccess(ITestResult result) {
            
            System.err.println(result.getTestClass().getName() + "." + result.getMethod().getMethodName() + " : passed");
        }
    
    
    }

    注意:下面方法一和方法二用的是同一个类(customListener )

    方法一:采用注释法添加监听设置

    import org.testng.annotations.Listeners;
    import org.testng.annotations.Test;
    
    public class testforCustomList {
    	
    	
    	@Listeners(customListener.class)//此处指明了使用自定义的listener。
    	public class listenerTest {
    
    	    @Test
    	    public void listener1(){
    	        System.out.println("it is the first test");
    	    }
    
    	    @Test
    	    public void listener2(){
    	        System.out.println("it is the second test");
    	    }
    	}
    }
    

      测试结果如下:

    [RemoteTestNG] detected TestNG version 6.8.9
    [TestNG] Running:
      C:UsersAdministratorAppDataLocalTemp	estng-eclipse-1101982489	estng-customsuite.xml
    
    start test
    ***start on test***listener1
    it is the first test
    WebDriverAPI.testforCustomList$listenerTest.listener1 : passed***start on test***listener2
    
    WebDriverAPI.testforCustomList$listenerTest.listener2 : passed
    it is the second test
    finish test
    PASSED: listener1
    PASSED: listener2
    
    ===============================================
        Default test
        Tests run: 2, Failures: 0, Skips: 0
    ===============================================
    
    
    ===============================================
    Default suite
    Total tests run: 2, Failures: 0, Skips: 0
    ===============================================
    
    [TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 0 ms
    [TestNG] Time taken by org.testng.reporters.jq.Main@3b6eb2ec: 50 ms
    [TestNG] Time taken by org.testng.reporters.EmailableReporter2@7a0ac6e3: 10 ms
    [TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@43a25848: 80 ms
    [TestNG] Time taken by org.testng.reporters.JUnitReportReporter@2d6e8792: 10 ms
    [TestNG] Time taken by org.testng.reporters.XMLReporter@5b464ce8: 10 ms

    方法二:使用testng.xml实现监听设置

    import org.testng.annotations.Test;
    
    public class testforCustomList {
    
        public class listenerTest {
    
            @Test
            public void listener1(){
                System.out.println("it is the first test");
            }
    
            @Test
            public void listener2(){
                System.out.println("it is the second test");
            }
        }
    }

    XML:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="webTest">
        <listeners>
            <listener class-name="WebDriverAPI.customListener"></listener>
        </listeners>
        <test name="listener test">
    
            <classes>
                <class name="WebDriverAPI.testforCustomList" />
            </classes>
    
        </test>
    </suite>

    运行结果:

    [RemoteTestNG] detected TestNG version 6.8.9
    [TestNG] Running:
      F:workplacewebTest	estngXMLlistener.xml
    
    start test
    ***start on test***listener1
    it is the first test
    WebDriverAPI.testforCustomList$listenerTest.listener1 : passed
    WebDriverAPI.testforCustomList$listenerTest.listener2 : passed
    ***start on test***listener2
    it is the second test
    finish test
    
    ===============================================
    webTest
    Total tests run: 2, Failures: 0, Skips: 0
    ===============================================
  • 相关阅读:
    gridcontrol中使用右健菜单popupMenu1
    无线路由信号增强办法
    sql server2008企业版和标准版
    使用apache设置绑定多个域名或网站
    VirtualBox 虚拟机复制
    Mysql 性能优化7【重要】sql语句的优化 慢查询
    Mysql 性能优化6【重要】 索引优化
    Mysql 性能优化7【重要】sql语句的优化 浅谈MySQL中优化sql语句查询常用的30种方法(转)
    mysql 高可用架构
    Mysql 复制工作原理
  • 原文地址:https://www.cnblogs.com/lanbing/p/8483798.html
Copyright © 2011-2022 走看看