2017-05-05 2 views
0

Ich möchte einen Testfall mehrmals wiederholen.Wie setze ich den Aufruf einer Testmethode während der Ausführung der Methode

ich gefunden:

@Test(invocationCount=10, threadPoolSize=1) 

und

annotation.setInvocationCount(15); 

mal zu ändern.

Aber es ausgeführt, bevor der Fall aufgerufen wird. Ich muss etwas in dem Fall tun, dann kann ich wissen, ob ich es wiederholen muss oder nicht. Ist es möglich, Wiederholungszeiten in dem Fall zu ändern, anstatt sie vorher zu definieren?

Antwort

0

Was Sie suchen ist ein RetryAnalyzer: http://toolsqa.com/selenium-webdriver/implement-iretryanalyzer-to-retry-failed-test-in-testng-framework/

public class RetryAnalyzer implements IRetryAnalyzer { 

    @Override 
    public boolean retry(ITestResult result) { 
     boolean shouldRetry = // business logic 
     if(shouldRetry) { 
      return true; 
     } 
     return false; 
    } 
} 
+0

hallo, danke es funktioniert, aber der Fall fehlschlagen sollte dann erneut ausführen auslösen, könnte es sein Erfolg auch Rerun auslösen? –

+0

Nein. 'invocationCount' hat keinen Listener. Sie können jedoch den Fall, den Sie erneut ausführen möchten, (mit einer Ausnahme) fehlschlagen und dann den Wiederholungsanalyse-Mechanismus verwenden. – juherr

Verwandte Themen