概述
ITestListener监听器主要针对测试方法和xml文件中的test标签来进行相应监控。
一、ITestListener监听规则
ITestListener监听器封装的方法以及方法的使用规则如下:
onTestStart():测试方法开始时才执行此方法。这里测试方法是指@Test注解的测试方法;
onTestSuccess():如果测试方法执行成功才执行此方法;
onTestFailure():如果测试方法执行失败才执行此方法;
onTestSkipped():如果测试方法执行跳过才执行此方法;
onTestFailedButWithinSuccessPercentage():自定义测试方法的执行结果。比如测试方法中有多个断言,其中一个断言没有通过,其他的断言都通过了,你可以根据具体情况,判断此测试方法执行通过;
onStart():在xml文件中的每一个<test>标签跑之前运行;
onFinish():在xml文件中的每一个<test>标签跑之后运行。
二、使用方法
1、在一个包下新建一个MyListener.java的文件:
package com.demo.testmg.util;
import org.testng.Assert;
import org.testng.ITestContext;
import org.testng.ITestListener;
import org.testng.ITestResult;
import org.testng.annotations.Test;
public class MyListener implements ITestListener {
@Override
public void onTestStart(ITestResult iTestResult) {
System.out.println("onTestStart=========================================================================" + iTestResult.toString());
}
@Override
public void onTestSuccess(ITestResult iTestResult) {
System.out.println("onTestSuccess=========================================================================" + iTestResult.toString());
}
@Override
public void onTestFailure(ITestResult iTestResult) {
System.out.println("用例运行失败,onTestFailure=========================================================================");
// 调用截图方法
}
@Override
public void onTestSkipped(ITestResult iTestResult) {
System.out.println("onTestSkip=========================================================================" + iTestResult.toString());
}
@Override
public void onTestFailedButWithinSuccessPercentage(ITestResult iTestResult) {
}
@Override
public void onStart(ITestContext iTestContext) {
System.out.println("onStart=========================================================================" + iTestContext.toString());
}
@Override
public void onFinish(ITestContext iTestContext) {
System.out.println("onFinish=========================================================================" + iTestContext.toString());
}
}
2、testng.xml文件,并设置Lienter范围。
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="test" preserve-order="true">
<listeners>
<listener class-name="com.demo.testmg.util.MyListener"/>
</listeners>
<test name="testPoc" preserve-order="true">
<classes>
<!--<class name="com.demo.testmg.tests.all.xxx" />-->
<class name="com.demo.testmg.tests.all.xxx1" />
<class name="com.demo.testmg.tests.all.xxx2" />
</classes>
</test>
</suite>
3、运行结果
执行的顺序:
@BeforeSuite-->onStart()-->@BeforeClass-->@BerforeMethod-->onTestStart()-->@Test-->onTestSuccess() or onTestFailure() or onTestSkipped()-->@AfterMethod-->@AfterClass-->onFinish()-->@AfterSuite
最后
以上就是沉默草莓为你收集整理的TestNG中的ITestListener的全部内容,希望文章能够帮你解决TestNG中的ITestListener所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复