我正在自动化一个网页,并且在一个类中,我有几个测试,当我通过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();
}
然后来我所有的六个@Test
如果有什么可以告诉我即时消息做错了什么,因为即时消息无能为力。我没有每个测试都可以单独运行,因为我已经尝试过了。
谢谢。
最佳答案
我认为您可能想尝试@AfterMethod,而不是@AfterTest。
在所有@Test方法都运行之后,@ AfterTest仅运行一次。
请参阅TestNG批注文档:
http://testng.org/doc/documentation-main.html#annotations
@AfterMethod:带注释的方法将在每个测试方法之后运行。
@AfterTest:带注释的方法将在标记内属于类的所有测试方法运行后运行。
祝你好运!