Укажите порт, на котором работает ChromeDriverJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Укажите порт, на котором работает ChromeDriver

Сообщение Anonymous »


Сообщество H, я пытаюсь настроить Selenium Grid на сервере EC2, и ниже приведены шаги, которые я предпринял на данный момент.

1.запустите хаб на порту 4044

java -jar /ebst/wrangler/upla/bin/selenium-server-standalone-3.141.59.jar -role Hub -port 4044 2.Зарегистрируйте узел по адресу 4045

java -Dwebdriver.chrome.driver="~/chromedriver" -jar ~/selenium-server-standalone-3.141.59.jar -role node -hub http ://hubURL:4044/grid/register -порт 4045 3.Запустите Webdriver в моем Java-коде

import огурец.api.java.Before; импортировать org.openqa.selenium.Platform; импортировать org.openqa.selenium.WebDriver; импортировать org.openqa.selenium.chrome.ChromeOptions; импортировать org.openqa.selenium.remote.DesiredCapabilities; импортировать org.openqa.selenium.remote.RemoteWebDriver; импортировать java.net.MalformedURLException; импортировать java.net.URL; тест публичного класса { драйвер веб-драйвера; @До public void setup() выдает MalformedURLException { Строка nodeURL = "http://hubURL:4044/wd/hub"; System.out.println("настройка"); DesiredCapabilities желаемые возможности = DesiredCapabilities.chrome(); желаемые возможности.setBrowserName("хром"); желаемые возможности.setPlatform(Platform.LINUX); ChromeOptions chromeOptions = новые ChromeOptions(); chromeOptions.addArguments( "--подробный", "--Обезглавленный", "--disable-web-security", "--ignore-certificate-errors", "--allow-running-insecure-content", "--allow-insecure-localhost", "--нет-песочницы", "--disable-GPU"); chromeOptions.merge(желаемые возможности); драйвер = новый RemoteWebDriver (новый URL-адрес (nodeURL), chromeOptions); System.out.println("Настройка завершена"); } } На консоли я получил следующую ошибку из-за тайм-аута.

org.openqa.selenium.WebDriverException: неизвестная ошибка: не удается найти двоичный файл Chrome

(Информация о драйвере: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Linux 3.10.0-1062.el7.x86_64 x86_64) (ВНИМАНИЕ: Сервер не сделал предоставить любую информацию о трассировке стека)

Длительность команды или тайм-аут: 16 миллисекунд

Информация о сборке: версия: «3.141.59», редакция: «e82be7d358», время: «2018-11-14T08:25:53» Информация о системе: хост: «ip-10-160-169-203.syd» .non.c1.macquarie.com', ip: '10.160.169.203', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-1062.el7.x86_64', java.version: '1.8.0_181'

Информация о драйвере: driver.version: неизвестна. Продолжительность или таймаут команды: 523 миллисекунды

Когда я возвращаюсь к серверу узла, отображается следующее сообщение.

22:44:05.604 ИНФОРМАЦИЯ [ActiveSessionFactory.lambda$apply$11] — соответствующая фабрика org.openqa.selenium.grid.session.remote.ServicedSession$Factory (поставщик: org.openqa.selenium.chrome.ChromeDriverService) Запуск ChromeDriver 74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}) на порту 3459

Разрешены только локальные подключения.

Защитите порты, используемые ChromeDriver и связанными платформами тестирования, чтобы предотвратить доступ вредоносного кода.

[1567550645.675][СЕРЬЕЗНЫЙ]: сбой привязки(): невозможно назначить запрошенный адрес (99)

22:44:05.988 ИНФОРМАЦИЯ [ActiveSessionFactory.apply] — Возможности: { "browserName": "chrome", "goog:chromeOptions": { "аргументы": [ "--подробный", "--Обезглавленный", "--disable-web-security", "--ignore-certificate-errors", "--allow-running-insecure-content", "--allow-insecure-localhost", "--нет-песочницы", "--порт: 4040", "--отключить-графический процессор" ], "расширения": [ ] }, "платформа": "LINUX", "версия": ""

Я понимаю, что ошибка возникает, потому что в нашей компании были доступны только определенные порты, и ChromeDriver каждый раз запускается на случайном порту. Чтобы каждый раз указывать порт, на котором запускается этот ChromeDriver, я пробовал все виды спецификаций для моих ChromeOptions и RemoteWebDriver в коде Java, но тщетно.

Кто-нибудь еще сталкивался с этой проблемой? Если да, то не могли бы вы дать мне совет, что делать? Или, в более широком смысле, правильный ли это способ запуска сервера селена на EC2? Любая помощь будет высоко оценена!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»