使用TestNG @After注释

elc*_*rua 3 java testng webdriver

我正在自动化一个网页,在一个类中我有几个测试,当我通过testng运行它们所有的@Aftertest都没有被调用,所以唯一有效的测试是第一个,因为当第一个测试完成,它不会调用后来关闭驱动程序实例并开始一个新的.有我的方法:

@BeforeSuite
public void printInfo() {
    Utilidades.addInformationTest();
}

@BeforeTest
public void loggerUser() throws Exception {
    initializeSelenium("VerificacionUI_FraudMonitor_Issuer");
    Utilidades.printInfo("Cargando datos de variables.");
    setCMSModulo(modulo);
    setUsuario(usuario);
    setContraseña(contraseña);
    startAccess();
    parentWindowHandle = driver.getWindowHandle();
}

@AfterTest
public void shutDownSelenium() {
    driver.quit();
}
Run Code Online (Sandbox Code Playgroud)

然后来我的所有六个@Test

如果有任何可以告诉我我做错了什么,因为我一无所知.我没有每个测试单独工作,因为我已经尝试过.

谢谢.

Lor*_*son 13

我想你可能想尝试@AfterMethod,而不是@AfterTest.

在所有@Test方法运行之后,@ AfterTest只运行一次.

请参阅TestNG注释文档:

http://testng.org/doc/documentation-main.html#annotations

@AfterMethod:带注释的方法将在每个测试方法之后运行.

@AfterTest:在标记内的类的所有测试方法都运行后,将运行带注释的方法.

祝好运!