首页 > 解决方案 > 为什么我收到以下错误“元素类型侦听器的内容必须匹配(侦听器)*”?

问题描述

我试图实现 TestNG 的 IAnnotationTransformer 接口以再次重试失败的测试用例,但在我的 TestNG.xml 中出现以下错误

正在显示的错误的屏幕截图

MyTransformer 的代码

package Analyzer;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.IAnnotationTransformer;
import org.testng.annotations.ITestAnnotation;

public class MyTransformer implements IAnnotationTransformer{

public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstrustor, Method testMethod) {
    annotation.setRetryAnalyzer(RetryAnalyzer.class);
}

}

RetryAnalyzer 类的代码

package Analyzer;

import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;

public class RetryAnalyzer implements IRetryAnalyzer{
    int counter = 0;
    int retryLimit = 3;
    public boolean retry(ITestResult result) {
        // TODO Auto-generated method stub
        if(counter < retryLimit) {
            counter++;
            return true;
        }
        return false;
    }

}

谁能解释我为什么会收到此错误以及如何解决它?

标签: seleniumjunittestngtestng-eclipse

解决方案


不幸的是,您已阻止错误消息中的代码:

它必须遵循这种模式

<listeners>
   <listener class-name="your listener class"></listener>
</listeners>

希望这个问题


推荐阅读