2017-01-24 7 views
1

В одном пакете у меня есть несколько классов. Но как планировать выполнение классов один за другим в testng. Мой testng.xml файлКак запланировать выполнение классов в файле testng.xml?

<?xml version="1.0" encoding="UTF-8"?> 
<suite name="AutomationTestWrangler"> 

<test name="Smoke Testcases"> 
    <classes> 
     <class name="DataWrangler.LoginResigterComponents"/> 
     <class name="DataWrangler.Register"/> 
     <class name="DataWrangler.Login"/> 
     <class name="DataWrangler.Dashboard"/> 
    </classes> 
</test> 

</suite> 

Но исполнение происходит в следующих выходных TestNG order.My приходит в следующем порядке

DataWrangler.Register 
DataWrangler.Login 
DataWrangler.LoginResigterComponents 

как сделать график выполнения

DataWrangler.LoginResigterComponents 
DataWrangler.Register 
DataWrangler.Login 
+0

Привет Sidhartha, нет ничего плохого с XML! Вы уверены, что выполнение происходит в том порядке, который вы предлагаете? –

ответ

0

В ваш testng.xml, который вы должны определить:

<groups> 
    <dependencies> 
     <group name="a" /> 
     <group name="b" depends-on="a" /> 
     <group name="c" depends-on="a b" /> 
    </dependencies> 
    </groups> 

аннотирования классы тестов следующим образом:

@Test(groups = {"a"}) 
public class LoginResigterComponents 

@Test(groups = {"b"}) 
public class Register 

@Test(groups = {"c"}) 
public class Login 

В качестве альтернативы вы можете настроить зависимости только с аннотациями:

@Test(groups = {"a"}) 
    public class LoginResigterComponents 

    @Test(groups = {"b"}, dependsOnGroups = {"a"}) 
    public class Register 

    @Test(groups = {"c"}, dependsOnGroups = {"a b"}) 
    public class Login 

Update

В качестве альтернативы попробуйте добавить preserve-order атрибут:

<test name="Smoke Testcases" preserve-order="true"> 
+0

Это работало для вас? Любая удача в тестировании? –

+0

его не работает. Есть ли другой способ? – Sidhartha

+0

С помощью "@test (групп = {" а "}) LoginResigterComponents общественного класса @Test (группы = {" Ь "}, {dependsOnGroups =" а "}) общественного класс Регистрация @test (группы = {"c"}, dependOnGroups = {"ab"}) public class Login "этот метод, если какой-либо тестовый тест не работает в предыдущем классе, следующий класс не выполняется. И" "не работает. – Sidhartha

1

Я столкнулся с такой же проблемой до нескольких дней. Я обнаружил проблемный код, я поставил приоритет в отношении некоторых методов тестирования в разных классах. Когда я выполняю все мои классы с testing.xml, он сначала выполнял приоритетный класс метода. Так что это может быть проблемой в вашем случае.

У меня есть несколько рекомендаций здесь -

  1. Если ваше требование выполнить кучу классов, используя xml то лучше зависимости тестовых методов в классах.
  2. Используйте priority в своих методах тестирования. Если вы назначили одинаковый приоритет для двух разных методов тестирования разных классов и выполнили свой код с помощью файла xml, тогда первый метод тестирования первого запуска будет выполняться первым, независимо от того, какой заказ вы сохранили в файле xml.

Другое альтернативное решение, которое вы можете попробовать это добавить group-by-instances="true" в вас <test> тег из xml файла

например-

<test name="parallel-running-test" group-by-instances="true"> 

Обновлено: - Это как приоритет работы

класс 1

public class MyFirstClassTest { 

@Test(priority = 2) 
public void myFirstClassTestOne(){ 
    System.out.println("myFirstClassTestOne"); 
} 

@Test (priority = 2) 
public void myFirstClassTestTwo(){ 
    System.out.println("myFirstClassTestTwo"); 
} 

} 

класс 2

public class MySecondClassTest { 


@Test(priority=1) 
public void mySecondClassTestTwo(){ 
    System.out.println("mySecondClassTestTwo"); 
} 

} 

Testing.xml

<suite name="Suite1" verbose="1" thread-count="2" > 

<test name="parallel-running-test" > 

    <classes> 
     <class name="test.abc.MyFirstClassTest"/> 
     <class name="test.abc.MySecondClassTest"/> 
    </classes> 
</test> 
</suite> 

Результат

enter image description here

+0

@Xwris Stoixeia, Спасибо за ответ. вы уверены, что приоритет не может сделать такого рода вещи. Я обновляю свой вопрос, смотрю – NarendraR

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

  • Нет связанных вопросов^_^