Всякий раз, когда мы используем RemoteWebDriver для выполнения тестов selenium-webdriver на удаленной машине, нам нужно запустить selenium-server-standalone-xxxjar на удаленной машине. До сих пор я делаю это вручную, используя следующую команду:
java -jar selenium-server-standalone-x.x.x.jar
В любом случае я могу сделать это программно, прежде чем запускать удаленный браузер. Ниже приведен код, который я использую для управления ff в удаленном браузере:
// Declare firefox capabilities
DesiredCapabilities capability = DesiredCapabilities.firefox();
// Create a remote web driver
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
// Navigate to test site
driver.navigate().to("http://www.google.com");
Заранее спасибо.
Короткий ответ заключается в том, что это невозможно. Чтобы выполнять команды на удаленном компьютере, вам нужно иметь приложение, запущенное на удаленной машине, которая служит в качестве слушателя, - ожидая выполнения команд. Это то, что в основном выполняет селен-сервер-автономный (и помимо этого он запускает тесты). Следовательно, самый простой способ сделать это - запустить сервер selenium вручную или в качестве обходного пути, вы можете выполнить скрипт в заданное время (я выполняю сборку муравьев в качестве сигнала тревоги на Mac).
В любом случае вы смотрите на него, вам нужен сервер, на котором SSH работает на удаленном компьютере, чтобы установить соединение для вашего приложения на концентраторе, чтобы запустить что-то в узле.
Мое обходное решение для этого заключалось в том, чтобы настроить будильник (на Mac - вы можете найти похожие сценарии для Windows) для запуска муравьиной задачи в определенное время, которое запустит сервер. Сервер запускается примерно за две минуты до запуска фактических тестов, чтобы дать серверу время для регистрации на узле.