2014-09-12 5 views
0

Я пишу несколько различных тестов селена в качестве объектов страницы и хочу иметь возможность запускать их из одного центрального класса. Я выяснил, как запустить один тест из другого класса, но когда я пытаюсь запустить несколько тестов, будет завершен только один.Запуск нескольких тестов селена из одного класса (java)

Я попытался запустить их последовательно с org.junit.runner.JUnitCore.main («com.etc»), но после тестирования первого класса завершается весь тест. В коде:

org.junit.runner.JUnitCore.main("com.etc.test.HomePageCheck"); 
System.out.print("test"); 

команда печати никогда не запускать, даже если тест проходит успешно

Я также попытался создать несколько потоков, но если какой-либо тест завершается, весь процесс кажется до конца и оставить остальные тесты висят.

Чтобы повторить, у меня есть Class1 с несколькими испытаниями jUnit и Class2 с другими тестами jUnit. Я хочу иметь возможность запускать класс 3, который будет запускать как Class1, так и Class2 и завершить все тесты для этих других классов. Я не думаю, что хочу использовать селеновую сетку, я бы предпочел просто запускать тесты локально на машине, либо последовательно, либо, предпочтительно, параллельно.

+1

Возможно, Suite - это то, что вы ищете: https://github.com/junit-team/junit/wiki/Aggregating-tests-in-suites Также вы должны, вероятно, опубликовать часть своего кода, чтобы мы могли посмотрите, что вы сделали неправильно. – user1071777

+0

Селеновая сетка может стать оплотом. http://docs.seleniumhq.org/docs/07_selenium_grid.jsp – bcar

ответ

0

Я понял это, вот код (вторая строка является ключом, другие просто, чтобы получить выход)

Result aTest; 
aTest= org.junit.runner.JUnitCore.runClasses(new Class<?>[] 
{ 
    Events.class,SearchCheck.class}); 
    for(Failure i:aTest.getFailures()) 
    { 
     System.out.println(i.getException()+"\nat: "+i.getDescription()); 
     System.out.println("trace: "+i.getTrace()); 
     System.out.println(); 
    } 
} 

Спасибо всем

Edit: на самом деле Тесты также работает очень и вероятно, лучший способ сделать это.

Смежные вопросы