2014-10-07 3 views

ответ

2

Вы можете использовать IInvokedMethodListener.

Переопределите оба метода для интерфейса. В afterInvocation проверьте результат и, возможно, добавьте карту Map<method, failureCount>

В beforeInvocation проверьте, не скроется ли failCount> 4, а затем выдаст SkipException, чтобы остальные вызовы были пропущены.

Что-то вроде:

static Map<String, Integer> methodFailCount = new HashMap<String, Integer>(); 
    public void beforeInvocation(IInvokedMethod method, ITestResult testResult) { 

     if(methodFailCount.get(method.getTestMethod().getMethodName())!= null && methodFailCount.get(method.getTestMethod().getMethodName()) > 4) 
      throw new SkipException("Skipped due to failure count > 4"); 
    } 

    public void afterInvocation(IInvokedMethod method, ITestResult testResult) { 
     if(testResult.getStatus() == TestResult.FAILURE){ 
      if(methodFailCount.get(method.getTestMethod().getMethodName()) == null) 
       methodFailCount.put(method.getTestMethod().getMethodName(),1); 
      else{ 
       methodFailCount.put(method.getTestMethod().getMethodName(), 
         methodFailCount.get(method.getTestMethod().getMethodName())+1); 
      } 

     } 

    } 
+0

Отлично! Это помогло много – javanoob

Смежные вопросы