Я внедрил 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 должна запустить соответствующий тест.
- Как работает реализация Grid2, если мне нужно настроить Hub и Node на каждом компьютере? Я полагаю, что реализация будет отличаться, если это комбинация EC2Hub-LocalMachineNode И когда будет комбинация EC2Hub-EC2Node .
В любом случае, какую команду / URL мы предоставляем для хаба, узла webdriver / RC и в тестах Selenium? Я спрашиваю об этом, потому что большая часть онлайн-документации говорит о «localhost» и порте 4444, но я хочу сделать это обобщенным.
- Есть ли какие-либо особые настройки для портов / брандмауэра при настройке?
Мне удалось добиться этого, открыв порты 5554-5559 на моем экземпляре EC2 с портала AWS, а также брандмауэр для этих портов на моем локальном компьютере, а также на компьютере EC2.
Пожалуйста, дайте мне знать, если я неясен или неоднозначен в любой момент. Буду признателен за ваши объяснения.