IRetryAnalyzer帮助,无法使其工作

时间:2014-01-29 16:52:51

标签: java selenium-webdriver testng

我是新手,所以这对我来说并不那么明显。我正在尝试从testNG实现IRetryAnalyzer,以重新运行失败的测试用例。

这就是我所做的,但却无法发挥作用。请注意我从互联网上复制的所有代码。

public class Retry implements IRetryAnalyzer {

private int retryCount = 0;
private int maxRetryCount = 2;

@Override
public boolean retry(ITestResult result) {

    if (retryCount < maxRetryCount) {
        System.out.println("Entre");
        retryCount++;
        return true;
    }
    return false;

}

这是我的测试方法,如果它失败并重新运行测试。

@Parameters({ "nombrePlan", "nombreBuild", "nomTL_verificacionUIHomePageIssuer" })
@Test(retryAnalyzer = Retry.class)
  public void verificacionUIHomePageIssuer(String nombrePlan, String nombreBuild, String nomTL_verificacionUIHomePageIssuer) throws Exception {
    HomePageIssuer homePage = new HomePageIssuer(driver);
    //Assert.assertTrue(homePage.validacionLogin(), homePage.getError());
    Assert.assertTrue(false);
}

问题是,当我运行它时,驱动程序关闭并且测试永远不会再次启动。 任何帮助,将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

根据评论,@ BeforeTest被用于驱动程序初始化,因此Retry没有再次调用它。

只会为整个标记调用一次BeforeTest。尝试使用@beforemethod,但这会在每个测试用例之后初始化。