前言
当测试方法执行后,不管是成功或者是失败了,
相应的后续动作的执行,我们可以应用ITestResult接口来进行相关的操作。
比如测试方法执行失败了,如何进行截图操作。
一般ITestResult接口会和@AfterMethod注解的方法结合使用。因为@AfterMethod注解的方法会在每一个@Test注解的方法会执行,这样我们可以监听到测试方法的执行状态,以便做出相应的动作。
正文
public class TestNGITestResultDemo {
@Test
public void testMethod1(){
System.out.println("running>>>testMethod1");
Assert.assertTrue(false);
}
@Test
public void testMethod2(){
System.out.println("running>>>testMethod2");
Assert.assertTrue(true);
}
@AfterMethod
public void afterMethod(ITestResult testResult){
if (testResult.getStatus() == ITestResult.FAILURE){
System.out.println("Failed: "+testResult.getMethod().getMethodName());
}
if (testResult.getStatus()==ITestResult.SUCCESS){
System.out.println("Successed:"+testResult.getName());
}
}
}
示例中代码,testMethod1()方法将会执行失败,testMethod2()方法执行成功。
在@AfterMethod注解方法中,传入参数 ITestResult testResult,
testResult.getStatus() 方法获取测试方法执行后的状态,是成功还是失败。
ITestResult.FAILURE 和 ITestResult.SUCCESS,是ITestResult接口中定义的常量。
方法 testResult.getMethod().getMethodName() 等同于方法 testResult.getName() ,都是获取执行过的测试方法的方法名。
465

被折叠的 条评论
为什么被折叠?



