Перейти к содержимому

Фотография

Очередь запуска методов из разных классов с помощью testng.xml

Webdriver java testNG testng.xml

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 14

#1 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 27 мая 2015 - 11:18

Добрый день уважаемые форумчане.

 

Столкнулся с такой ситуацией:

Есть 3 тестовых класса

Порядок выполнения тестовых методов в каждом классе задан через "priority"

 

При конфигурировании запуска тестов с помощью testng.xml, запускается по очереди каждый метод с каждого из классов по приоритетам:

сначала все с приоритетом 1, затем 2 и т.д.

 

Есть ли возможность сконфигурировать так, чтобы приоритет учитывался только внутри тестового класса?

Не очень хочется ставить жесткую зависимость.

Переписывать каждый раз приоритеты тоже не очень хочется.

 

Заранее спасибо!


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 27 мая 2015 - 11:58

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


  • 0

#3 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 27 мая 2015 - 12:06

Да вот в это и проблема, я только указал в testng.xml классы.

Вот конфиг, может я нокосячил с конфигом, прошу ткнуть =)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none" allow-return-values="true">
  <test name="Test" >
  <package name="testPackage"/>
    <classes>
      <class name="testPackage.Class1"/>
      <class name="testPackage.Class2"/>
      <class name="testPackage.Class3"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 27 мая 2015 - 12:16

package я бы убрал, в именах классов просто прописать полный путь к классу (может это влияет).

ну ещё и тестНГ обновить, может, там бага была связанная с этим.


  • 0

#5 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 27 мая 2015 - 12:33

package я бы убрал, в именах классов просто прописать полный путь к классу (может это влияет).

ну ещё и тестНГ обновить, может, там бага была связанная с этим.

Убрал package, так же обновил testng до 6.9.5 - увы не помогло.


  • 0

#6 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 27 мая 2015 - 12:45

Попробуйте заменить на: 

<test name="Test"  preserve-order="false">


  • 0

#7 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 27 мая 2015 - 12:52

Попробуйте заменить на: 

<test name="Test"  preserve-order="false">

Заменил, в итоге testNG запускает по алфавиту, но даже если переименовать классы в алфавитном порядке, то ситуация такая же как и без preserve-order="false"

Уже даже не знаю, почему именно так происходит.


  • 0

#8 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 27 мая 2015 - 13:09

А больше инструментов-то и нет, значит такая у него работа.

Получается, что параметр priority вообще глобальный на все тесты.


  • 1

#9 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 27 мая 2015 - 13:14

<test name="Test"  group-by-instances="true">

 

так работает :)

 

можно (а это лучше) добавить group-by-instances="true" в suite


Сообщение отредактировал user12: 27 мая 2015 - 13:17

  • 1

#10 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 27 мая 2015 - 13:27

Спасибо заработало =)

Только вот не могу понять почему обратный порядок запуска тестовых классов.

Запускает 3 потом 2 потом 1.


  • 0

#11 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 27 мая 2015 - 13:30

Спасибо заработало =)

Только вот не могу понять почему обратный порядок запуска тестовых классов.

Запускает 3 потом 2 потом 1.

чего ? нет такого

выложите testng.xml

 

вру, есть такое. Но не обратный, а случайный порядок :)


Сообщение отредактировал user12: 27 мая 2015 - 13:37

  • 0

#12 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 27 мая 2015 - 13:53

В общем немного поковырял конфиг, в результате имею следующее

при parallel="false" - org.testng.TestNGException: 

No free nodes found in:[DynamicGraph 
 
Нид хелп =)
И все таки да - случайный порядок запуска при group-by-instances="true"

  • 0

#13 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 28 мая 2015 - 06:21

В общем разобрался.

Весьма интересно, что при удалении из конфига параметра parallel="none" - тесты стали запускаться в порядке указанной очереди.

 

Всем спасибо за помощь.


  • 0

#14 pplppc

pplppc

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Андрей

Отправлено 03 февраля 2020 - 10:48

Добрый день, всем!

Подскажите, есть возможность запустив класс указать конкретные тест?

У меня чаще всего в одном классе расписано по 5+ тестов, но не всегда нужно все запускать.

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

 

Использую такую связку: java, selenium, testNG, Gradle. 

 

Благодарю за содействие - за ранее.


  • 0

#15 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 03 февраля 2020 - 11:35

https://blog.jdriven...st-with-gradle/


  • 0



Темы с аналогичным тегами Webdriver, java, testNG, testng.xml

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных