我是新手,所以这对我来说并不那么明显。我正在尝试从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);
}
问题是,当我运行它时,驱动程序关闭并且测试永远不会再次启动。 任何帮助,将不胜感激。 提前谢谢。
答案 0 :(得分:1)
根据评论,@ BeforeTest被用于驱动程序初始化,因此Retry没有再次调用它。
只会为整个标记调用一次BeforeTest。尝试使用@beforemethod,但这会在每个测试用例之后初始化。