TestNG Listener
Posted 米朵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG Listener相关的知识,希望对你有一定的参考价值。
-
常用接口
-
IExecutionListener 监听TestNG运行的启动和停止。
-
IAnnotationTransformer 注解转换器,用于TestNG测试类中的注解。
-
ISuiteListener 测试套件监听器,监听测试套件的启动和停止。
-
ITestListener 测试运行的监听器。
-
IConfigurationListener 监听配置方法相关的接口。
-
IMethodInterceptor 用于修改TestNG即将运行的测试方法列表。
-
IInvokedMethodListener 测试方法拦截监听,用于获取被TestNG调用的在Method的Before 和After方法监听器。该方法只会被配置和测试方法调用。
-
Ihookable 若测试类实现了该接口,当@Test方法被发现时,它的run()方法将会被调用来替代@Test方法。这个测试方法通常在IHookCallBack的callback之上调用,比较适用于需要JASS授权的测试类。例如:
public void run(final IHookCallBack icb, ITestResult testResult) { // Preferably initialized in a @Configuration method mySubject = authenticateWithJAAs(); Subject.doAs(mySubject, new PrivilegedExceptionAction() { public Object run() { icb.callback(testResult); } }; }
-
Ireporter 实现该接口可以生成一份测试报告。
-
IRetryAnalyzer 该接口实现重试失败用例。
-
启用监听
-
使用注解@Listener({监听类.class})
@Listeners({SuiteListener.class}) public class InvokedMethodListenerExample { @BeforeSuite public void beforeSuite() { System.out.println("before suite"); } @Test public void t1() { System.out.println("t1 test method"); } @AfterSuite public void afterSuite() { System.out.println("after suite"); } }
-
在TestNG中配置监听类
?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite verbose="0" name="listeners-test"> <listeners> <listener class-name="listeners.ProgressTracker" /> <listener class-name="listeners.SuitListener" /> <listener class-name="listeners.RetryListener" /> </listeners> <test name="listeners.testng"> <packages> <package name="listeners" /> </packages> </test> </suite>
-
在maven-surefire插件中配置监听类
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.17</version> <configuration> <suiteXmlFiles> <suiteXmlFile>TestNG_${env}.xml</suiteXmlFile> </suiteXmlFiles> <properties> <property> <name>listener</name> <value>listeners.SuitListener, listeners.RetryListener</value> </property> </properties> </configuration> </plugin>
-
类
TestListenerAdapter 一个基于ITestListener 的简单适配器,存储了被运行的所有测试用例。可以通过如下方法获取到测试结果:
- getPassedTests()
- getFailedTests()
- getSkippedTests()
当你扩展这个类来重载这些方法时,如果你想要这个列表测试Test被维护时,需要调用super的同类。
以上是关于TestNG Listener的主要内容,如果未能解决你的问题,请参考以下文章
解决移动端报错:Unable to preventDefault inside passive event listener due to target being treated as……(代码片段
Android 调用组件 w/listener 或让 viewmodel 调用组件与片段通信
接口自动化框架(java)--5.通过testng.xml生成extentreport测试报告
JSF:-DataType 和 Action Listener 的问题