Java IRetryAnalyzer帮助,可以';我做不到

Java IRetryAnalyzer帮助,可以';我做不到,java,selenium-webdriver,testng,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)

我是新手,所以这对我来说不太明显。我正在尝试从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;

}
问题是,当我运行它不工作时,驱动程序关闭,测试再也不会开始。 任何帮助都将不胜感激。
提前感谢。

根据评论,@BeforeTest用于驱动程序初始化,因此重试不会再次调用它


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

您是否会遇到任何异常?如何设置参数值。除了HomePageIssuer init之外,我使用了与您完全相同的代码并重试了。您使用的是哪个版本的testng?我得到一个空指针异常,因为当测试完成时,驱动程序实例关闭,所以当它尝试重新运行测试时,它不会实例化新的驱动程序。我不知道如何让它在6.3.1 testng版本上实例化一个新的driver.Im。可能是版本错误吗?你在哪里初始化驱动程序?我所有的测试用例都是从BaseTestCase扩展而来的,也就是说我初始化了我的WebDriver实例,但是由于某种原因,测试失败了,它没有调用我的BeforeTest注释。谢谢你的帮助,非常感谢。
@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);
}