Помогите разобраться с robotframewrok + selenium grid

selenium-grid
virtualization
robot-framework
Теги: #<Tag:0x00007fedbcab5cf0> #<Tag:0x00007fedbcab5ae8> #<Tag:0x00007fedbcab59a8>

(Kuanysh Bekturganov) #1

Доброго времени суток! Помогите пожалуйста разобраться с запуском параллельных robot тестов.
Хочу реализовать связку robotframewrok + selenium grid.
Сделал следующее:

  1. Создал виртуалку 1(linux) // хочу как hub использовать

  2. Создал виртуалку 2(linux) // хочу как node использовать

  3. Создал виртуалку 3 без графической оболочки(linux) // хочу как сервис использовать(в дальнейшем хочу использовать для jenkins)

  4. На стороне виртуалки 1 запустил grid в роли hub

  5. На стороне виртуалки 2 запустил grid в роли node

  6. После запуска, hub зарегистрировал node

  7. Проверил

  8. На стороне виртуалки 3 (без графической оболочки) запускаю тест следующим образом:

pabot --processes 3 /home/robotFramework/robot-framework-web-tests/RF/src/test/robotframework/tests/acceptance/

Теперь сама проблема, тесты НЕ запускаются.

root@jenkins:/home# pabot --processes 3 /home/robotFramework/robot-framework-web-tests/RF/src/test/robotframework/tests/acceptance/
[PID:2413] EXECUTING Acceptance.Test 1
[PID:2413] still running Acceptance.Test 1 after 15.0 seconds (next ping in 20.0 seconds)
[PID:2413] still running Acceptance.Test 1 after 35.0 seconds (next ping in 25.0 seconds)
[PID:2413] still running Acceptance.Test 1 after 60.0 seconds (next ping in 30.0 seconds)
[PID:2413] still running Acceptance.Test 1 after 90.0 seconds (next ping in 35.0 seconds)
[PID:2413] still running Acceptance.Test 1 after 125.0 seconds (next ping in 40.0 seconds)
FAILED Acceptance.Test 1
Output:  /home/output.xml
Log:     /home/log.html
Report:  /home/report.html
Elapsed time: 2 minutes 10.768 seconds
root@jenkins:/home# 

В файле log.html есть следующее:

10:44:43.771 	INFO 	Opening browser 'firefox' to base url 'https://www.google.ch' through remote server at 'http://192.168.3.21:4444/wd/hub'
10:44:46.775 	INFO 	Could not get IP address for host: 192.168.3.21
10:46:54.019 	WARN 	Keyword 'Capture Page Screenshot' could not be run on failure: No browser is open
10:46:54.021 	FAIL 	URLError: <urlopen error [Errno 110] Connection timed out>

P.S: Если же запустить тесты на локальной машине, то без проблем тесты запускаются в нодах:

pabot --processes 3 /home/robotFramework/robot-framework-web-tests/RF/src/test/robotframework/tests/acceptance/

Получается что-то моей виртуалке 3(где запускаются тесты) не хватает?

Есть ли среди Вас кто пробовал robotframewrok + selenium-grid 2?
Я про robotframewrok + selenium-grid 2 читал в http://softwaretester.info/robot-framework-selenium-grid-2-0/


(Dmitriy Zverev) #2

Скриншоты у меня не отобразились. Такое ощущение, что у вас виртуалки друг друга не видят.

Мы делаем так

Selenium Grid

Запуск хаба

selenium-server-standalone-2.52.0.jar -role hub

Запуск узлов

selenium-server-standalone-2.52.0.jar -role webdriver -hub http://localhost:4444/grid/register/ -port 5556 maxInstances=1 -browser browserName="internet explorer"
selenium-server-standalone-2.52.0.jar -role webdriver -hub http://localhost:4444/grid/register/ -port 5557 maxInstances=1 -browser browserName="internet explorer"
selenium-server-standalone-2.52.0.jar -role webdriver -hub http://localhost:4444/grid/register/ -port 5558 maxInstances=1 -browser browserName="internet explorer"
...

Автотесты

*** Keywords ***
Suite_setup
    [Timeout]    10 minutes
    Comment    Запуск браузера
    Selenium2Library.Open Browser    about:blank    browser=${BROWSER}      remote_url=${SELENIUM_HUB_URL}
    Selenium2Library.Register Keyword To Run On Failure    Nothing
    Selenium2Library.Maximize Browser Window

Параметры

BROWSER = 'internet explorer'
SELENIUM_HUB_URL =   http://hostname.of.hub.ru:4444/wd/hub

Запуск также через pabot