使用dependsOnGroups重试分析器

时间:2015-01-20 21:13:28

标签: java testing testng

我有Selenium测试,每隔一段时间就会失败,所以我想要一个retryAnalyzer强制测试重新运行。现在我在dependsOnGroups中添加一些测试依赖项。但是如果硒测试失败并且第二次通过,则将跳过依赖于它的测试。

我想要的是testRetryAndPass传递一次(无论是否重试),然后我想要testDependOnGroup运行。现在跳过testDependOnGroup。

测试代码:

@Test(dependsOnGroups = "test")
public void testDependOnGroup()
{
    assertTrue( true );
}

@Test( groups = { "test" }, retryAnalyzer = RetryAnalyzer.class )
public void testRetryAndPass()
{
    if ( RetryAnalyzer.retryCount == 0 )
    {
        assertTrue( false );
    }
    else
    {
        assertTrue( true );
    }
}

RetryAnalyzer:

public class RetryAnalyzer extends TestListenerAdapter implements IRetryAnalyzer
{
   private static Logger logger = Logger.getLogger( RetryAnalyzer.class );

   public static int retryCount = 0;
   public static final int MAX_RETRIES = 1;

   @Override
   public boolean retry( ITestResult result )
   {
       logger.info( "Running retry for " + result.getMethod() );
       boolean retryFunction = false;
       if ( retryCount < MAX_RETRIES )
       {
           retryCount++;
           retryFunction = true;
       }

       return retryFunction;
   }
}

我很乐意回答您的任何问题。

0 个答案:

没有答案