Reputation: 1743
Such a junit :
@Test
public void testA {
//some code here...
}
@Test
pulic void testB {
//some code here...
}
@After
public void closeBrowsers() throws Exception {
selenium.stop();
}
Here is the question : closeBrowsers() method called after every test method; in that case it is called twice and i got "Wrong test finished." from JUnit. I need a junit method/annotation which will be called after all tests finised (just called once after all tests finished), is it possible ?
Also i tried to check if selenium is up or not in closeBrowsers() but no way i couldn't find any solution.
P.S : I 've read this one : How to close a browser on a selenium RC server which lost it's client
but i couldn't understand the solution and also currently http://www.santiycr.com.ar/djangosite/blog/posts/2009/aug/25/close-remaining-browsers-from-selenium-rc blog side is down
Upvotes: 2
Views: 4604
Reputation: 17828
You can make your selenium variable static, initialize it in @BeforeClass static method and cleanup in @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();
}
}
Upvotes: 3
Reputation: 2939
Use the @AfterClass annotation.
http://junit.sourceforge.net/doc/faq/faq.htm#organize_3
Upvotes: 3