有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java TestNG在失败时重新运行测试,不运行BeforeClass AfterClass方法

我实现了从以下链接重新运行失败的TestNG测试类的逻辑:

https://martinholladay.wordpress.com/2013/11/17/webdriver-2-0-automatically-retry-failed-tests/

不幸的是,它运行带有“Test”注释的方法,而没有运行BeforeClass(@BeforeClass)和AfterClass(@AfterClass)方法。我试着研究ITEStannotation的setDependsOnMethods和getDependsOnMethods,但没有结果

有人知道如何让listener类同时运行BeforeClass和AfterClass方法吗

public class RetryListener implements IAnnotationTransformer {
    public void transform(ITestAnnotation annotation, Class testClass,
            Constructor testConstructor, Method testMethod) {
        IRetryAnalyzer retry = annotation.getRetryAnalyzer();
        if (retry == null) {
            annotation.setRetryAnalyzer(Retry.class);
        }
    }
}

//The test begins here....

@BeforeClass(alwaysRun = true)
@Parameters("Environment")
public void BeforeClass(String sEnv) throws Exception {
    WebDriver driver = new FirefoxDriver();
    driver.get("www.google.com");

}

@Test
public void TestMethod() {
    //Some test...
}

@AfterClass(alwaysRun = true)
public void AfterClass() {
    driver.quit();
}

共 (1) 个答案