Понимание реализации Selenium Grid2 на EC2 - PullRequest
2 голосов
/ 16 ноября 2011

Я внедрил Selenium Grid, читая и разбираясь в разреженной / фрагментированной онлайн-документации о Grid2. Моя текущая реализация is-

Узел Webdriver зарегистрирован и работает на экземпляре EC2

java -jar selenium-server-standalone-2.8.0.jar -role webdriver -hub http://EC2_PUBLIC_IP:5555/grid/register -port 5556

Концентратор зарегистрирован и работает на том же экземпляре EC2

java -jar selenium-server-standalone-2.8.0.jar -role hub -hubhost EC2_PUBLIC_IP -port 5555

Я запускаю тесты TestNG на основе Webdriver из Eclipse на моей локальной машине. Конфигурация драйвера драйвер = новый RemoteWebDriver (новый URL (возможность "http://EC2_PUBLIC_IP:5556/wd/hub"),);

Запуск тестов запускает браузер на моем экземпляре EC2.

Я все еще ищу несколько вопросов без ответа, которые могут быть очень простыми и были бы признательны за взгляды людей или их понимание. Я хочу, чтобы мои браузеры запускались на машине, на которой запущен соответствующий узел. Например, машина с узлом webdriver + firefox должна запустить соответствующий тест.

  1. Как работает реализация Grid2, если мне нужно настроить Hub и Node на каждом компьютере? Я полагаю, что реализация будет отличаться, если это комбинация EC2Hub-LocalMachineNode И когда будет комбинация EC2Hub-EC2Node . В любом случае, какую команду / URL мы предоставляем для хаба, узла webdriver / RC и в тестах Selenium? Я спрашиваю об этом, потому что большая часть онлайн-документации говорит о «localhost» и порте 4444, но я хочу сделать это обобщенным.
  2. Есть ли какие-либо особые настройки для портов / брандмауэра при настройке?

Мне удалось добиться этого, открыв порты 5554-5559 на моем экземпляре EC2 с портала AWS, а также брандмауэр для этих портов на моем локальном компьютере, а также на компьютере EC2.

Пожалуйста, дайте мне знать, если я неясен или неоднозначен в любой момент. Буду признателен за ваши объяснения.

1 Ответ

2 голосов
/ 05 декабря 2011

Нет особых соображений по поводу использования сетки в EC2 по сравнению с любой другой сетевой средой. Все делается через HTTP на портах, которые вы можете настроить. Поскольку вы почти наверняка не хотите, чтобы ваша сетка была общедоступной, и все в группе безопасности по умолчанию могут общаться со всем остальным в той же сети, у вас не должно быть никаких проблем.

Вы можете настроить вещи из командной строки или через файл конфигурации JSON. Я предпочитаю последнее. Файл конфигурации по умолчанию можно найти в Google Code . Вы заметите значение «hubPort» там. Не показан, но действителен, это элемент конфигурации "hubHost". Просто установите это имя хоста хаба.

Когда вы запускаете ваш узел, предоставьте аргумент командной строки "-nodeConfig /path/to/my/node_config.json", и все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...