Что такое 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.
Шаг 2
Вы можете сохранить Selenium Server .jar файл в любое место. Я размещу на диск С обоих машин А и B.
Шаг 3
- Теперь нам нужно запустить hub. Перейдите к машине A. С помощью командного окна перейдите в корень диска С.
- Введите java -jar selenium-server-standalone-2.44.0.jar -role hub
- Hub должен успешно запуститься.
Шаг 4
Selenium Grid, по-умолчанию, использует порт Машины A 4444. Откройте браузер и перейдите по http://localhost:4444/grid/console
Также можно проверить, имеет ли Машина 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,- можно использовать любой незанятый порт.
- После нажатия Enter, Вы должны увидеть похожий результат.
Step 6
Перейдите на веб-интерфейс Selenium Grid и перегрузите страницу.
В данный момент мы уже настроили простой Grid. В следующей статье мы рассмотрим, как запускать тесты на удаленной Машине B.