Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как узнать Url ноды, на которой будет выполнен текущий тест

video
selenium-grid
webdriver
testng
Теги: #<Tag:0x00007f7b64e90700> #<Tag:0x00007f7b64e90570> #<Tag:0x00007f7b64e903e0> #<Tag:0x00007f7b64e90250>

(Nik Sidorenko) #1

Контекст:
Пытаюсь разобраться с записью видео при параллельном выполнении тестов с использованием Selenium Grid. Уже познакомился с примерами от @ArtOfLife https://github.com/sskorol/docker-selenium-grid и @Sergey_Pirogov https://github.com/SergeyPirogov/video-recorder-java/
(Ребята, вам огромное спасибо)
Основная идея заключается в создании кастомного Servlet, который будет отвечать за начало и остановку видео на ноде.
Сразу оговорюсь, что и то и то решение работает из коробки. Но я сторонник глубокого понимания, того что использую, чтобы использовать его правильно и приспособить под себя, если потребуется.

Вопрос
Чтобы отправить http запрос для записи видео мне нужно знать адрес ноды, на которой будет выполнятся тест.
В примере от @ArtOfLife используется дополнительный класс HubProxy extends DefaultRemoteProxy, в котором адрес ноды можно получить из методов класса DefaultRemoteProxy.
В примере от @Sergey_Pirogov я доконца не разобрался откуда получается адрес ноды.

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


(Sergey Korol) #2

Если покопаться в коде, то вот метод получения IP ноды для testng:


(Sergey Pirogov) #3

Рекомендую забить на оба метода и использовать современные инструменты типа selenoid. VideoRecorder нужно использовать только когда у вас локальный запуск на винде


(Nik Sidorenko) #4

Сам не докопался. :slight_smile: Благодарю за помощь.


(Nik Sidorenko) #5

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


(Nik Sidorenko) #6

И спасибо @Sergey_Pirogov за код.


(Юрий Аксютин) #7

Чтобы было понятно откуда у кода ноги растут:smile::

Сам последний раз использовал года 1,5 назад, надеюсь API не изменился