Я использовал IRetryAnalyzer для повторного запуска неудавшихся тестовых примеров. Я также использовал IAnnotationTransformer в качестве прослушивателя TestNg. Теперь только последний счет повторного тестового примера появляется в отчете как неудачный. Предыдущие итерации идут как пропущенные. Я хочу, чтобы вся итерация в отчете была неудачной.повторные запущенные неудачные тестовые примеры отправляются со статусом = «Пропущено» в отчете testng
Ниже приведены коды для 2-х классов:
Для IAnnotationTransformer:
package com.TestNG;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import org.testng.IAnnotationTransformer;
import org.testng.IRetryAnalyzer;
import org.testng.annotations.ITestAnnotation;
public class RetryListener implements IAnnotationTransformer {
@Override
public void transform(ITestAnnotation testannotation, Class testClass,
Constructor testConstructor, Method testMethod) {
IRetryAnalyzer retry = testannotation.getRetryAnalyzer();
if (retry == null) {
testannotation.setRetryAnalyzer(Retry.class);
}
}
}
Для IRetryAnalyzer:
package com.TestNG;
import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;
public class Retry implements IRetryAnalyzer {
private int retryCount = 0;
private int maxRetryCount = 2;
@Override
public boolean retry(ITestResult result) {
if (retryCount < maxRetryCount) {
retryCount++;
return true;
}
return false;
}
}
Результат: Screenshot