Testng监听器

TestNg提供了监听器和拦截器的几个接口供我们自己开发扩展,通过实现这些接口,来自定义我们在测试中想要的行为

接口列表:

 

无论何时TestNG即将调用一个测试(被@Test注解的)或者配置(任何使用@Beforeor@After注解标注的方法),监听器 IInvokedMethodListener都可以让你得到通知。你所要做的就是实现如下接口:

public interface IInvokedMethodListener extends ITestNGListener {
  void beforeInvocation(IInvokedMethod method, ITestResult testResult);
  void afterInvocation(IInvokedMethod method, ITestResult testResult);
}

如:
public class MyTestListener implements IInvokedMethodListener2 {
    
    private static Logger logger = Logger.getLogger(MyTestListener.class);
    
    @Override
    public void beforeInvocation(IInvokedMethod method, ITestResult testResult) {
        

    }

    @Override
    public void afterInvocation(IInvokedMethod method, ITestResult testResult) {
        
    }

    @Override
    public void beforeInvocation(IInvokedMethod method, ITestResult testResult,
            ITestContext context) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void afterInvocation(IInvokedMethod method, ITestResult testResult,
            ITestContext context) {
        KeepRun kRun = method.getTestMethod().getConstructorOrMethod().getMethod().getAnnotation(KeepRun.class);
        if(kRun != null){
            Boolean isRun = kRun.value();
            if(isRun){
                //testResult.setStatus(testResult.getAttributeNames());
            }
        }
    }

}

 

 
posted @ 2014-11-19 15:03  xiao.kkp  阅读(617)  评论(0编辑  收藏  举报