Укажите порт, на котором работает 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 -port 4045
3.Запустите Webdriver в моем Java-коде

Код: Выделить всё

import cucumber.api.java.Before;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import java.net.MalformedURLException;
import java.net.URL;

public class Test {
WebDriver driver;

@Before
public void setup() throws MalformedURLException {

String nodeURL = "http://hubURL:4044/wd/hub";
System.out.println("setting up");

DesiredCapabilities desiredCapabilities = DesiredCapabilities.chrome();
desiredCapabilities.setBrowserName("chrome");

desiredCapabilities.setPlatform(Platform.LINUX);

ChromeOptions chromeOptions = new ChromeOptions();

chromeOptions.addArguments(
"--verbose",
"--headless",
"--disable-web-security",
"--ignore-certificate-errors",
"--allow-running-insecure-content",
"--allow-insecure-localhost",
"--no-sandbox",
"--disable-gpu");

chromeOptions.merge(desiredCapabilities);

driver = new RemoteWebDriver(new URL(nodeURL), chromeOptions);
System.out.println("setting up done");

}
}
На консоли я получил следующую ошибку из-за тайм-аута.


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 INFO [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][SEVERE]: ошибка привязки(): невозможно назначить запрошенный адрес (99)

22:44:05.988 ИНФОРМАЦИЯ [ActiveSessionFactory.apply] — Возможности: {
"browserName": "chrome",
"goog:chromeOptions": {
"args": [
"--verbose",
"--headless",
"--disable-web-security",
"--ignore-certificate-errors",
"--allow-running-insecure-content",
"--allow-insecure-localhost",
"--no-sandbox",
"--port:4040",
"--disable-gpu"
],
"extensions": [
]
},
"platform": "LINUX",
"version": ""



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

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

Подробнее здесь: https://stackoverflow.com/questions/577 ... river-runs
Ответить

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

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

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

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

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