Тест TestNG не выполняется в соответствии с приоритетом - PullRequest
0 голосов
/ 28 января 2019

Ниже приведена структура моего проекта в eclipse:

-> testclasses

----> AccountTest (приоритет методов от 1-6)

----> BillingTest (приоритет методов от 7-13)

----> HomePageTest (приоритет единственного метода - 17)

----> SupportTest (приоритет методов из14-16)

Все вышеперечисленные тестовые классы имеют методы, в которых приоритет устанавливается в инкрементном порядке, как показано выше.

Теперь, когда я щелкну правой кнопкой мыши по пакету testclasses и запустим его как Testng.Начинает выполнение с HomePageTest.

Я устанавливаю приоритет моих методов тестирования, как показано ниже:

@Test(priority=6, dataProvider="Setup")

Я хочу, чтобы выполнение выполнялось в соответствии с приоритетом, определенным для каждого метода, и, таким образом, метод с приоритетом 1 должен выполняться первымнезависимо от того, в каком классе он находится.

Ответы [ 2 ]

0 голосов
/ 30 января 2019

TestNG запускает контрольные примеры в порядке приоритетов.Если для тестового метода нет приоритета, то по умолчанию TestNG устанавливает приоритет на 0. В вашем случае в классе HomePageTest может быть какой-либо метод с приоритетом 0. Либо установите приоритет всех методов, либо используйте методы теста в файле XML Runner, чтобызапустить в заданном порядке

 <test name="DummyTest">
  <classes>
     <class name="apitestset.inventory.Test">
                <methods>
                    <include name="create"/>
                    <include name="update"/>
                    <include name="get"/>
                    <include name="check"/>
                    <include name="initiate"/>
                    <include name="confirm"/>
                    <include name="extend"/>
                </methods>
            </class>
<classes>

Здесь у testclass есть 7 методов, и они запускаются в порядке, указанном в файле xml runner.Не устанавливайте приоритет, если вы используете методы в файле XML Runner.

0 голосов
/ 29 января 2019

Правильный способ запустить все тесты, представленные в нескольких классах с приоритетами, - запустить их с помощью файла testng.Поэтому запишите имя всех классов в файле testng.xml, а затем запустите файл testng, щелкнув его правой кнопкой мыши в проводнике пакетов -> Run As -> TestNG Suite.Ваши тестовые случаи будут выполняться в соответствии с установленными приоритетами независимо от классов, к которым они принадлежат.

Ваш testng.xml должен выглядеть следующим образом:

<test name="TestSuiteName">
    <classes>
        //Insert the whole path of the classes here like
        <class name="packageName.AccountTest" /> 
        <class name="packageName.BillingTest" />
        <class name="packageName.HomePageTest" />
        <class name="packageName.SupportTest" />
    </classes>
</test>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...