Налаштування selenium grid, простий it блог

Запис буде корисна для новачків, хто жодного разу не стикався з grid-му, але хотів спробувати.
І так, що ж таке selenium grid. Це розподілена сісти selenium серверів для віддаленого запуску браузерів.
І так, для початку нам необхідно завантажити поcледнюю версію jar файлу selenium-server-standalone з офіційного сайту selenium. На момент написання статті це версія 3.1.0
Після того як ми це зробили, нам необхідно запустити hub. (Selenium-server-standalone можна запустити як в режимі hub, так і в режимі node) Hub - це центральний диспетчер, на який ми будемо реєструвати необхідні нам сервера і на який будемо слати всі запити від тестів.

Відкриваємо консоль, переходимо в директорію, в якій знаходиться скачав нами selenium-server-standalone і виконуємо команду:

java -jar selenium-server-standalone-3.1.0.jar -role hub

В консолі у вас повинно з'явиться інформація про успішний старт hub-a.

Налаштування selenium grid, простий it блог

Перший рядок означає, що тепер ми можемо реєструвати вузли на урл, де запущений hub. Другий рядок означає,
що hub успішно запущений.

Далі необхідно запустити так звані вузли (node), за якими державна служба (hub) буде розподіляти запущені нами тести.
Node - це по суті екземпляр selenium server, на якому можна стартанути n-ну кількість браузерів.
В даному прикладі я реєструватимуть і стартувати selenium node-и на тій же машині, на якій у мене запущений hub. Звичайно ж можна запускати hub на одній віддаленій машині, а node-и на купі інших віддалених машин і реєструвати на поточний хаб, власне кажучи для цього selenium grid і потрібен.

Відкриваємо нове вікно з консоллю, в якій вводимо наступну команду

В консолі ми бачимо інформацію про те, що вузол успішно запустився

Налаштування selenium grid, простий it блог

running selenium node

При цьому на консолі hub-a ми бачимо інформацію про те, що зареєстрований новий вузол

В консолі ми бачимо, що на даний момент до hub підключена одна node. Коли стартує node, вона не може визначити які браузери доступні і тому використовується стандартна конфігурація складається з 5 браузерів chrome, з 5 ff і 1 IE.

Налаштування selenium grid, простий it блог

selenium grid console

При цьому на всіх машинах, де у вас запущені node і де ви плануйте ганяти свої тести на різних браузерах, для кожного браузера на відповідній машині повинен лежати свій драйвер і налаштована змінна path.
Детальну конфігурацію node можна переглянути, натиснувши на вкладку Configuration даної node.

Налаштування selenium grid, простий it блог

selenium grid config

В консолі ми бачимо, що на вузлі одна іконка хрому стала задізейбленной. це означає що на вузлі в даний момент запустився браузер chrome і ходить наш тест.

Налаштування selenium grid, простий it блог

А тепер запустимо ще 1 вузол на нашій локальній машині, зареєструвавши його на все той же наш локальної запущений хаб.
Відкриваємо нову консоль і вводимо

Так як ми запускаємо вузол знову локально, на тій же машині, то командою -port краще вказати номер порту, щоб не вийшло так, що вузол буде пробувати запуститися на тому порту, на якому запущений інший вузол.

Дивимося в консоль про успішний запуск вузла

Налаштування selenium grid, простий it блог

stating new node

В консолі з запущеним hub-ом ми бачимо інформацію про те, що в диспетчері зареєстрований новий вузол

Налаштування selenium grid, простий it блог

Яким чином у нас налаштований selenium grid на одному з проектів. У нас є кілька потужних машин, на яких запущені хаб і Ноди. При цьому на кожній машині на включенні налаштовані Тригер, які запускають батники, в яких прописані старти хабів і нодов з потрібними конфігураціями. Приблизний батник на одній з windows машин

Параметр browserName означає, що на вузлі повинен використовуватися браузер chrome.
Параметр -maxInstances задає максимальну кількість примірників одного підтримуваного браузера, які можуть бути запущені на одному вузлі.
Параметр -maxSession задає максимальну кількість браузерів, які можуть бути запущені паралельно на одному вузлі.

У наступній статті спробую описати мої експерименти з Selenium Grid Extras

Схожі записи

  • Налаштування selenium grid, простий it блог
    Як встановити бібліотеку Selenium в Eclipse
  • Налаштування selenium grid, простий it блог
    Як встановити TestNG в Eclipse
  • Налаштування selenium grid, простий it блог
    Задерло NoSuchElementException в Selenium WebDriver
  • Налаштування selenium grid, простий it блог
    Відгук про оновлений курсі «Програмування на java для тестувальників»
  • Налаштування selenium grid, простий it блог
    Як встановити Groovy консоль.

Схожі статті