方法一:采用注释法添加监听设置
import org.testng.annotations.Listeners;
import org.testng.annotations.Test;
public class testforCustomList {
@Listeners(MyListener.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");
}
}
}
MyListener.class的定义
import org.testng.ITestContext;
import org.testng.ITestListener;
import org.testng.ITestResult;
//implements实现接口ITestListener
public class MyListener 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");
}
}
方法二:使用testng.xml实现监听设置
import org.testng.annotations.Test;
public class testforListener {
public class testforListener {
@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"?>
<suite name="webTest">
<listeners>
<listener class-name="WebDriverAPI.MyListener"></listener>
</listeners>
<test name="listener test">
<classes>
<class name="WebDriverAPI.testforListener" />
</classes>
</test>
</suite>