处理多个JUnit测试用例

时间:2015-01-22 17:43:29

标签: selenium junit

我正在使用selenium web驱动程序编写JUnit测试用例,并且在尝试在一个文件中进行多个测试时遇到了问题。以下是我的代码结构示例:

public class exampleScripts extends SeleneseTestCase {

   public void setUp() throws Exception{
      SeleniumServer seleniumServer = new SeleniumServer();
      seleniumServer.start();
      setUp("https://my.target.URL", *firefox");
    }

   @Test
   public void test1() throws Exception {

       //do test stuff

       try {
           //check if results are good
       }

       catch (Throwable e) {
           //handle error
       }

   }

   @Test
   public void test2() throws Exception {

       //do more test stuff

       try {
           //check results
       }

       catch (Throwable e) {
           //handle error
       }
  }
}

现在,测试本身可以正常工作,但是当我整个运行我的类时,我收到错误Failed to start: SocketListener1@0.0.0.0:4444。第一个测试运行正常,但第二个测试我继续进行下一个测试,似乎它正在尝试重新启动会话,当时我只想让它继续旧会话。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

似乎我能够找到解决此问题的难以解决的问题,但我不建议将此作为解决方案。我创建了一个test_suite函数来运行我的所有测试,并自己记录结果。

public void setUp() {
   //setUp stuff
}

public void testAll() throws Exception {
    selenium.open("my/target/path");
    test1();
    test2();
}

@Test
public void test1() throws Exception {
    //test stuff
   try {
       //check results
   }

   catch (Throwable e)  {
       log.INFO("There was an error in test1");
   }
 }

 //and so on

整个测试套件将在testAll()上运行。再一次,不会推荐这个解决方案,因为它没有利用JUnit的日志记录,但它对我有用。