2012-03-09 62 views
2

如果這是一個明顯的問題,請道歉。 我使用webdriver支持的selenium編寫了一些Java測試 - 這些測試在單獨運行時都運行得非常完美。 我現在想在testSuite中一起運行這些選擇。從我迄今發現的建議得到了以下內容:在Webdriver中創建測試套件

package my.package; 
import junit.framework.Test; 
import junit.framework.TestCase; 
import junit.framework.TestSuite; 

public class My_TestSuite 

public static Test suite() { 
suite.addTestSuite(US298.class); 
suite.addTestSuite(US111.class); 
//etc 
return suite; 
} 
public static void main (String[] args) { 
junit.textui.TestRunner.run(suite()); 
} 
} 

我得到這個從嘗試到現有的測試套件從硒IDE出口,試圖給我一個想法,如何做到這一點但它沒有幫助! 任何幫助非常感謝 - 非常感謝。

+0

您遇到的實際錯誤是什麼?你能舉一個你的測試的例子嗎?你在使用JUnit 3或4,那就是你的測試類擴展了TestCase,還是用@Test註解的方法? – 2012-03-09 12:31:24

+0

我的測試用例用@Test註釋,而我用的是JUnit 4 - 我在「addTestSuite」位上得到一個錯誤 - 它表示TestSuite類型中的方法addTestSuite(Class <?extends TestCase>)是不適用於參數(類別)'是否能夠釋放更多的光線? – 2012-03-09 14:28:23

回答

3

在您對有關使用JUnit 4的評論之後,問題在於您實際上是在使用JUnit 3樣式測試套件和JUnit 4測試。您需要使用JUnit 4 Suite。這有以下格式:

@RunWith(Suite.class) 
@SuiteClasses({ Test1.class, Test2.class }) 
public class AllTestsSuite { 
} 

junit.framework.*類是JUnit 3中,和org.junit.*類是JUnit 4中

+0

非常好,謝謝! – 2012-03-09 15:28:57

+0

嗯。我有一個類似的問題 - 我使用「將測試用例導出爲... Java/JUnit 4/WebDriver」從IDE(v 2.9.1)導出我的套件。我添加了RunWith和SuiteClasses,但隨後發現(在另一個問題的幫助下)測試類(編譯並自行運行OK)必須擴展junit.framework.TestCase JUnit 4導出不是真的可用嗎? – 2016-08-08 08:07:17

1

我使用TestNG的套房看到在3.textng.xml

doc 它很容易使用

例子:

<test name="init"> 
    <classes> 
     <class name="com.example.Setup" /> 
     <class name="com.example.Login"/> 
    </classes> 
</test> 
<test name="myTests"> 
    <packages> 
     <package name="com.example.tests"/> 
    </packages> 
</test> 

你將不得不調整測試的TestNG的當然,但那很容易完成。 我也建議你使用webdriver測試,而不是webdriver支持,但多數民衆贊成只是我的看法。

0

@tarken

當您使用TestNG的,你寫的代碼執行和調用測試套件考慮這個作爲上述示例代碼的示例

package my.package; 
import junit.framework.Test; 
import junit.framework.TestCase; 
import junit.framework.TestSuite; 

public class My_TestSuite 

public static Test suite() { 
suite.addTestSuite(US298.class); 
suite.addTestSuite(US111.class); 
//etc 
return suite; 
} 
public static void main (String[] args) { 
junit.textui.TestRunner.run(suite()); 
} 
}