Как настроить порядок выполнения тестов в TestNG.xml

execution
testng
java
selenium
webdriver
Теги: #<Tag:0x00007f7b68d938d0> #<Tag:0x00007f7b68d93538> #<Tag:0x00007f7b68d931c8> #<Tag:0x00007f7b68d92cf0> #<Tag:0x00007f7b68d92b10>

#1

Привет всем.
Столкнулся с такой проблемой, при запуске TestNG.xml файла тесты выполняются ни в том порядке, в котором расположены, при этом я указал preserve-order=“true”, хотя и так по дефолту без этой строчки TestNG.xml так работает.

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

Screenshot_120


(Vasiliy Rakshin) #2

Какому порядку? Сначала все тесты из первого класса, потом все тесты из второго и так далее?


#3

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


(Vasiliy Rakshin) #4

Попробуйте разбить этот тест на 4 теста с одним классом.
Либо, надо полностью указывать все тесты у каждого класса.


#5

интересное решение, но не очень удобное, так как, если у меня будет 100 классов и 1000 тестов, какой же длинны у меня будет xml файл. Может есть какая-то настройка, благодаря которой, тесты будут ходить в нужном порядке. Без разбиения на отдельные классы с указанием тестов внутри классов


(Vasiliy Rakshin) #6

Попробуйте первый вариант - 1 тест - 1 класс.


#7

так работает, и свою проблему решил, убрал везде priority у тестов.


(Alliness) #8

Есть достаточно много решений этого вопроса. Я решал это через фабрику + IMethodInterceptor
В интерсепторе я смотрел какому классу пернадлежит метод, и смотрел приоритет этого класса. После этого делал сортировку по testClass priority + test Priority = globalPriority. Таким образом можно настроить любой порядок выполнения (за исключением dataprovider, dataprovider+factory). Если надо пример, могу в понедельник скинуть.