Настройка Selenium Grid

Настройка Selenium Grid

Что такое Selenium Grid?

Selenium Grid – это часть сборки Selenium Suite, которая позволяет  многочисленный запуск автотестов используя разные браузеры, операционные системы и параллельный запуск. 

Selenium Grid имеет 2 версии – Grid 1 и более новый Grid 2. Мы рассмотрим использование последнего.

Selenium Grid использует концепцию “hub-node”, где можно запускать тесты на одной машине, называемой hub, но выполнение осуществляется на разных машинах – нодах (node).

В каких случаях нужно использовать Selenium Grid?

Вы должны использовать Selenium Grid, если Вам нужно сделать следющее:

  • Запустить тесты на нескольких браузерах, операционных системах одновременно.
  • Сэкномить время на выполнение тестового сьюта (test suite).

Что такое Hub и Node?

Hub

  • Это центральный элемент, в котором вы запускаете тесты. The hub is the central point where you load your tests into.
  • Должне быть только один hub в grid-е.
  • Hub запускается на одной машине.
  • Машина, которая содержит hub, содержит тесты для запуска, но само выполнение осуществляется на node-ах.

Node-ы

  • Node-ы являются объектами Selenium, которые выполняют тесты, запущенные на hub-е.
  • Может быть одна или две node-ы в grid.
  • Node-ы могут быть запущены на нескольких машинах с разными платформами и браузерами.
  • Машины node-ы должны иметь такую же платформу, что и hub..

Как установить и использовать Grid 2.0?

Мы будем использовать две машины. Первая будет запускать hub, другая – node. Hub-машину назовем “Машина A”, node-машину – “Машина B”. Предположем, что Машина A имеет IP адрес 192.168.1.3, тогда как Машина B имеет 192.168.1.4.

Шаг 1

Скачиваем Selenium Grid.

grid

Шаг 2

Вы можете сохранить Selenium Server .jar файл в любое место. Я размещу на диск С обоих машин А и B.

Шаг 3

  • Теперь нам нужно запустить hub. Перейдите к машине A. С помощью командного окна перейдите в корень диска С.
  • Введите java -jar selenium-server-standalone-2.44.0.jar -role hub
  • Hub должен успешно запуститься.

grid-2

Шаг 4

Selenium Grid, по-умолчанию, использует порт Машины A 4444. Откройте браузер и перейдите по http://localhost:4444/grid/console

grid-3

Также можно проверить, имеет ли Машина B доступ к интерфейсу хаба http://iporhostnameofmachineA:4444/grid/console, где “iporhostnameofmachineA” должен быть IP адрес машины с хабом. В нашем случае, Машина А, имеет IP 192.168.1.3, поэтому в браузере Машины В введите http://192.168.1.3:4444/grid/console

Шаг 5

  • Теперь нам нужно запустить Node. Перейдите к машине B и запустите коммандное окно.
  • Перейдите в корень диска С и введите представленный ниже код. Мы используем IP адрес Машины А – 192.168.1.3. Мы также используем порт 5566,- можно использовать любой незанятый порт.

grid-4

  • После нажатия Enter, Вы должны увидеть похожий результат.

grid-5

Step 6

Перейдите на веб-интерфейс Selenium Grid и перегрузите страницу.

grid-6

В данный момент мы уже настроили простой Grid. В следующей статье мы рассмотрим, как запускать тесты на удаленной Машине B.