TestNG的监听器(listener)是一系列的接口,用于在运行时设置动态参数,以改变TestNG的执行过程。TestNG的所以监听器都是org.testng.ITestNGListener接口的实现。
1. 常见的TestNG提供的监听器接口如下:
- IAnnotationTransformer
- IAnnotationTransformer2
- IAnnotationTransformer3
- IHookable
- IInvokedMethodListener
- IInvokedMethodListener2
- IMethodInterceptor
- IReporter
- ISuiteListener
- ITestListener
我们将在后续文章中详细介绍这些监听器的具体用法,这里只介绍在TestNG中使用监听器的方法。
2. 在TestNG中使用监听器可以有如下方式:
- 启动TestNG的命令行中给出-listener参数
- 在testng.xml配置文件中设置<listeners>
- 在测试类中设置@Listeners标注
- 利用Java SPI接口的实现机制
1).命令行中给出-listener参数
java org.testng.TestNG -listener <com.mydomain.MyListenerImpl> testng.xml
对于具体的一个监听器实现类,临时用于一次测试,可以通过这种方式设置测试执行的监听器。
2).testng.xml