我对此并不陌生,因此对我而言并不那么明显。我正在尝试从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);
}
问题是,当我运行它不起作用时,驱动程序将关闭,并且测试再也不会开始。
任何帮助,将不胜感激。
提前致谢。
最佳答案
根据评论,@ BeforeTest被用于驱动程序初始化,因此Retry不再调用它。
对于整个标签,BeforeTest将仅被调用一次。尝试使用@beforemethod,但这将在每个测试用例之后初始化。
关于java - IRetryAnalyzer HELP,无法使其正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21437452/