开发者

JUnit, Selenium and tearDown

开发者 https://www.devze.com 2023-01-08 20:44 出处:网络
Such a junit : @Test public void testA { //some code here... } @Test pulic void testB { //some code here...

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


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(); 
  }
}


Use the @AfterClass annotation.

http://junit.sourceforge.net/doc/faq/faq.htm#organize_3

0

精彩评论

暂无评论...
验证码 换一张
取 消