这样的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() 中的 selenium 是否已启动,但我找不到 任何解决方案。
PS:我读过这个: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博客端已关闭
最佳答案
您可以将 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();
}
}
关于java - JUnit、Selenium 和拆解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3343979/