【发布时间】:2017-07-31 02:12:35
【问题描述】:
学习 selenium 和 TestNG
我有一个 testNG.xml 文件,该文件指定了 3 个测试
每个测试(下面的示例)都有一个 @AfterTest 注释和一个关闭浏览器的方法。浏览器都保持打开状态,直到 SUITE 完成。我认为@AfterTest 在每次测试后都会运行,那么为什么在每次测试后不调用treadown
测试:
import java.io.IOException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import junit.framework.Assert;
import pageObjects.LandingPage;
import resources.base;
public class validateNavBar extends base {
public static Logger log = LogManager.getLogger(base.class.getName());
@BeforeTest
public void init() throws IOException {
driver = initializeDriver();
driver.get(prop.getProperty("url"));
}
@Test
public void basePagenavigation() throws IOException {
// Go to landing page and click Login
LandingPage lp = new LandingPage(driver);
// lp.getTitle().getText();
Assert.assertTrue("NavBar is displayed", lp.getNavBar().isDisplayed());
log.info("NavBar is visible");
}
@AfterTest
public void teardown() {
log.info("Closing browser");
driver.close();
}
}
日志:
10:45:59.768 [main] INFO resources.base - Login test with params:
username: mark@mark.com
Password: mark
Text: Restricted user
10:46:06.299 [main] INFO resources.base - Login test with params:
username: fred@fred.com
Password: fred
Text: Non Restricted user
10:46:06.492 [main] INFO resources.base - NavBar is visible
10:46:06.493 [main] INFO resources.base - Closing browser
10:46:07.821 [main] INFO resources.base - Closing browser
10:46:08.502 [main] INFO resources.base - Closing browser
从日志中可以看出,@AfterTest 在 SUITE 末尾的每个测试中执行(或者这就是我的样子。
任何建议
TIA
标记
【问题讨论】:
标签: testng