2017-02-20 4 views
0

Ich habe IRetryAnalyzer verwendet, um meine fehlgeschlagenen Testfälle erneut auszuführen. Ich habe auch IAnnotationTransformer als TestNg Listener verwendet. Jetzt kommt nur die letzte Zählung des erneut ausgeführten Testfalls als fehlgeschlagen in dem Bericht. Die vorherigen Iterationen kommen als übersprungen. Ich möchte, dass die Iteration in dem Bericht als gescheitert erscheint.re-runned fehlgeschlagene Testfälle kommen mit Status = 'Übersprungen' im Testbericht

Im Folgenden sind Codes für die 2 Klassen:

Für 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); 
} 
} 

} 

Für 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; 
} 
} 

Ergebnis: Screenshot

Antwort

Verwandte Themen