2012-03-27 117 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 {