2012-03-09 2 views
2

Извините, если это очевидный вопрос. Я написал несколько тестов на Java с помощью webdriver подкрепленного селена - эти тесты работают отлично, когда запускаются индивидуально. Теперь мне хотелось бы запустить ряд из них вместе в 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()); 
} 
} 

Я получил это от попыток экспортировать существующий набор тестов с Selenium IDE, чтобы попытаться дать мне представление о том, как это сделать но это не помогло! Любая помощь очень ценится - большое спасибо.

+0

Какова фактическая ошибка, которую вы получаете? Можете ли вы привести пример одного из ваших тестов? Вы используете JUnit 3 или 4, то есть ваши тестовые классы, расширяющие TestCase, или методы, аннотированные с помощью @Test? –

+0

Мои тестовые примеры аннотируются с помощью @Test, и я использую JUnit 4 - я получаю сообщение об ошибке «addTestSuite» - он говорит «метод addTestSuite (класс ) в типе TestSuite не применимо для аргументов (класс ). «Это пролить свет? –

ответ

3

После вашего комментария об использовании JUnit 4 проблема в том, что вы действительно используете набор тестов стиля JUnit 3 с тестами JUnit 4. Вам необходимо использовать JUnit 4 Suite. Это имеет следующий формат:

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

The junit.framework.* классов JUnit 3, а org.junit.* классов JUnit 4.

+0

Отлично, спасибо! –

+0

Хммм. У меня есть аналогичная проблема - и я экспортировал свой пакет из IDE (v 2.9.1), используя «Экспорт тестового примера как ... Java/JUnit 4/WebDriver». Я добавил RunWith и SuiteClasses, но затем нашел (с помощью другого вопроса), что тестовые классы (которые скомпилированы и запускаются ОК сами по себе) должны расширять junit.framework.TestCase Является ли экспорт JUnit 4 еще не пригодным для использования? –

1

Я использую TestNG Suites увидеть doc в 3.textng.xml

Это легко использовать

Пример:

<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()); 
} 
} 
Смежные вопросы