这样一个junit:
@Test
public void testA {
//some code here...
}
@Test
pulic void testB {
//some code here...
}
@After
public void closeBrowsers() throws Exception {
selenium.stop();
}
这是一个问题:每个测试方法后调用closeBrowsers()方法;在那种情况下,它被调用两次,我得到“错误的测试结束。”来自JUnit。我需要一个junit方法/注释,它将在所有测试完成后调用(在所有测试完成后调用一次),是否可能?
此外,我试图在closeBrowsers()中检查硒是否已启动,但我无法找到 任何解决方案。
P.S:我读过这篇文章:How to close a browser on a selenium RC server which lost it's client
但我无法理解解决方案,目前http://www.santiycr.com.ar/djangosite/blog/posts/2009/aug/25/close-remaining-browsers-from-selenium-rc博客方面已经失效
答案 0 :(得分:3)
使用@AfterClass注释。
答案 1 :(得分:3)
你可以让你的selenium变量静态,在@BeforeClass静态方法中初始化它,并在@AfterClass中清理:
public class ...... {
private static Selenium selenium;
@BeforeClass
public static void initSelenium() {
selenium = new DefaultSelenium(...); // or initialize it in any other way
}
@Test
public void testA {...}
@Test
pulic void testB {...}
@AfterClass
public static void closeBrowsers() throws Exception {
selenium.stop();
}
}