Выполнение параллельных тестов с использованием Selenium Grid и TestNG

#selenium-rc #selenium-grid

#selenium-rc #selenium-grid

Вопрос:

У нас есть следующая настройка для выполнения параллельных тестов с использованием selenium grid и testng.

Selenium Hub: запуск концентратора. Дистанционное управление: три пульта дистанционного управления, работающих с * firefox в качестве среды.

У нас есть <suite name="Parallel Test Suite" parallel="tests" thread-count="34"> для запуска всех 100 тестов в нашем наборе тестов, ожидая, что каждый пульт дистанционного управления будет запускать 34 теста одновременно, а три пульта дистанционного управления будут запускать 100 одновременно.

Но каждый пульт дистанционного управления выполняет один тест за раз, а не одновременно.

Есть ли какой-либо другой параметр, который мы должны использовать для запуска концентратора или rc.

Помощь приветствуется.

Набор тестов содержит 100 записей, как показано ниже

 <!-- 1 -->
<test name="concurrentJobs100queue01WithFirefoxOnWindows" preserve-order="true">

    <classes>
      <class name="testscripts.concurrentJobs100queue01"/>
    </classes>
</test>
<!-- 2 -->
<test name="concurrentJobs100queue02WithFirefoxOnWindows" preserve-order="true">

    <classes>
      <class name="testscripts.concurrentJobs100queue02"/>
    </classes>
</test>
<!-- 3 -->
<test name="concurrentJobs100queue03WithFirefoxOnWindows" preserve-order="true">

    <classes>
      <class name="testscripts.concurrentJobs100queue03"/>
    </classes>
</test>
<!-- 4 -->
<test name="concurrentJobs100queue04WithFirefoxOnWindows" preserve-order="true">

    <classes>
      <class name="testscripts.concurrentJobs100queue04"/>
    </classes>
</test>
<!-- 5 -->
  

Ответ №1:

Это будет похоже на параллельный запуск,

 <test name="concurrentJobs100queue03WithFirefoxOnWindows" preserve-order="true">
<classes>
  <class name="testscripts.concurrentJobs100queue02"/>
  <class name="testscripts.concurrentJobs100queue03"/>
  <class name="testscripts.concurrentJobs100queue04"/>
  <class name="testscripts.concurrentJobs100queue01"/>
</classes>
</test>
  

Комментарии:

1. Это не сработало. Он по-прежнему запускает один тестовый класс за раз. Мы пытаемся запустить разделение 100 тестовых классов между тремя удаленными элементами управления и запустить их одновременно.

2. Это работает для меня, является ли имя тега класса именем класса? например, <имя класса=»com.abc.Selto»/> где Selto — это имя класса Java, т.е. Selto.java здесь будет указано только имя класса.

Ответ №2:

Наконец, это свелось к проблеме с ресурсами на тестовой машине. В итоге мы получили облачный сервис и смогли протестировать его для 100 пользователей. Мы использовали BrowserMob, который позволяет планировать сценарии selenium для N пользователей и использует Amazon cloud для запуска сценариев. У нас получилось действительно здорово!