2012-03-27 155 views
1

我已經從Selenium IDE中將Selenium Test Suite轉換爲JUnit,並嘗試從eclipse執行。但在我的腳本中Selenium 2的JUnit測試套件

suite.addTestSuite(Open_Google_IE.class); 
suite.addTestSuite(Open_Google_FireFox.class); 

錯誤消息的錯誤:在類的TestSuite的方法addTestSuite(類)不適用的參數(類)。

請告知可能是什麼原因。我還驗證了Creating Test Suite in Webdriver和更新的測試套件,但仍然拋出該錯誤。

的JUnit TestSuite

import junit.framework.Test; 
import junit.framework.TestSuite; 
import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 
import org.junit.runners.Suite.SuiteClasses; 

@RunWith(Suite.class) 
@SuiteClasses(value = {Open_Google_IE.class, Open_Google_FireFox.class}) 

public class OpenGoogle { 

    public static Test suite() { 
     TestSuite suite = new TestSuite(); 
     suite.addTestSuite(Open_Google_IE.class); 
     suite.addTestSuite(Open_Google_FireFox.class); 
     return suite; 
    } 

    public static void main(String[] args) { 
     junit.textui.TestRunner.run(suite()); 
    } 
} 

回答

2

據我所看到的,代碼是OK。

addTestSuite()只能採用擴展junit.framework.TestCase的類。請確保你的類繼承的那一個,或者發現身邊的另一種方式......

+0

對不起,我是新來硒/ JUnit的。你可以讓我知道如何擴展junit.framework.TestCase?你的意思是要導入它們嗎? import junit.framework.TestSuite; 另外如果硒測試用例是在JUnit WebDriverBacked中,那麼TestSuite可以工作,但如果測試用例是JUnit WebDriver,那麼addTestSuite會引發錯誤。請指教。 – 2012-03-28 19:57:23

+0

這意味着在'Open_Google_IE.java'文件中,您需要聲明'public class Open_Google_IE extends TestCase'並將其導入到那裏。但是,這一切都與JUnit哲學有點相似,因爲如果爲你工作,它會發揮最大的作用......但我仍然認爲這會起作用:) – 2012-03-29 09:10:18

+1

包括之後,它不會在Test Suite中引發錯誤(在addTestSuite( testClass)步驟)。但測試用例(Open_Google_IE類)無法執行。不過,我已經在中進行了驗證,並將其修改爲addTest(new TestSuite(testClass));那麼它的工作。謝謝。 – 2012-03-29 19:04:57

1

你的類必須擴展SeleniumTestBase

像這樣的:

public class CreateAccountTestCase extends SeleniumTestBase {