Как запустить селен-сервер-автономный?
Я пытаюсь запустить сервер селен и получить ошибки:
rond-macpro:selenium eladb$ java -Dwebdriver.chrome.driver=./chromedriver -r selenium-server-standalone-2.44.0.jar
Unrecognized option: -r
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
и без -r (что это вообще?)
rond-macpro:selenium eladb$ java -Dwebdriver.chrome.driver=./chromedriver selenium-server-standalone-2.44.0.jar
Error: Could not find or load main class selenium-server-standalone-2.44.0.jar
как мне запустить сервер?
Как мне установить порт не по умолчанию для прослушивания?
6 ответов
java -jar seleniumjar.jar -Dwebdriver.chrome.driver=./chromedriver
Если вы хотите указать порт, сделайте
java -jar seleniumjar.version.jar -Dwebdriver.chrome.driver=./chromedriver -port 4545
Начиная с версии 3.8.1 указывать драйвер больше не нужно:
java -jar seleniumjar.jar
Запущенный автономный сервер Selenium:
Форма Jar Source Main-Class является org.openqa.grid.selenium.GridLauncher
Согласно GridRole
класс - сервер Selenium может работать в одной из следующих ролей:
NOT_GRID
[Если опция -role пропущена, сервер работает автономно, не являясь частью сетки] >HUB
[как центр Селеновой сетки]NODE
[как узел Селеновой сетки]
D:\> java -jar selenium-server-standalone-*.jar -host 127.0.0.1 -port 4444
НЕ СЕТКА
RC
(Selenium interface)
- IP:Port/selenium-server
:
Selenium Remote Control ( RC) требует запуска сервера перед выполнением тестовых сценариев. RC-сервер внедряет ядро Selenium (JavaScript) в браузер. Ядро (процесс-демон) получает команды от сервера с помощью тестовых сценариев и выполняет их в браузере, а затем приводит к вашей программе. Но не может обрабатывать движущиеся курсоры мыши и мобильное выполнение.
Драйвер клиента Java: клиент - настраивает ваш браузер на использование сервера Selenium в качестве HTTP-прокси и передает команды браузера на сервер через "/selenium-server/RemoteRunner.html?sessionId=1234"
клиенты могут отправлять запросы на команду драйвера серверу селена по HTTP следующим образом:
Код и запросы: RC сервер постоянно работает. мы создаем демона и из этого общаемся с браузером.
Selenium daemon = new DefaultSelenium("172.16.20.156", 4464, "*firefox", "https://www.google.co.in/");
daemon.start(); -- daemon.stop(); (OR)
setUp("http://www.google.com/", "*firefox", 4454); selenium.windowMaximize();
GET:http://localhost:4454/selenium-server/driver/?cmd=open&1=https://www.google.co.in/&sessionId=9b1a232d9478497892e09cfc93cf665a
RC
(WebDriver
interface)
- IP:Port/wd/hub/static/resource/hub.html
:
WebDriver nativeDriver = new RemoteWebDriver(new URL("http://127.0.0.1:4454/wd/hub"), DesiredCapabilities.firefox());
Requests:
http://127.0.0.1:4454/wd/hub/session
/123...[SESSIONID]
/url
{ "url" : "http://demo.opencart.com/index.php?route=account/login" }
/execute
{ "script" : "document.querySelectorAll( arguments[0] )[0].click();", "args" : ['input.btn'] }
Сетка: [ - IP:Port/grid/console
]
HUB Grid HUB Running as a standalone server:
Hub - это центральная точка, которая распределяет тесты на несколько узловых машин, которые регистрируются в нем для параллельного выполнения.
java -jar selenium-server-standalone-2.53.0.jar -host 127.0.0.1 -port 4454 -role hub -log "D:\\HUB_Log.txt"
NODE [RC] должен отправить запрос в HUB, чтобы зарегистрироваться на него, по этому URL - IP:Port//grid/register
,
java -jar selenium-server-standalone-2.53.0.jar -host 127.0.0.1 -port 4458 -role node
-hub http://127.0.0.1:4454/grid/register -hubHost 127.0.0.1 -hubPort 4454
-browser browserName=firefox,version=24.0, maxinstance=1,platform=WINDOWS7
-browser browserName=chrome,version=53.0,platform=WINDOWS
-Dwebdriver.chrome.driver=D:\\Drivers\\chromedrivers\\2.24\\chromedriver.exe
Running as a grid node:
ИНФОРМАЦИЯ об экземпляре браузера: browserName = chrome, версия =53.0, maxinstance=1, платформа =WINDOWS Параметры командной строки со значениями системного свойства -Dproperty= значение -D chrome = driverAddress (Если значение является строкой, содержащей пробелы, необходимо заключить строку в двойных кавычках)
Регистрация узла с помощью файла конфигурации JSON registerNode.json
,
D:\SeleniumJar_Source>java -jar selenium-server-standalone-2.53.0.jar -role node
-hub http://127.0.0.1:4454/grid/register
-nodeConfig registerNode.json
-Dwebdriver.chrome.driver="D:\\Drivers\\chromedrivers\\2.24\\chromedriver.exe"
-Dwebdriver.ie.driver="D:\\Drivers\\IEDrivers\\iedriver64\\IEDriverServer.exe"
-Dwebdriver.firefox.logfile="D:\\FirefoxInstance.txt"
-Dwebdriver.chrome.logfile="D:\\ChromeInstance.txt"
-Dwebdriver.ie.logfile="D:\\IEInstance.txt"
WebDriver не требует запуска сервера перед запуском. Вы можете видеть, что WebDriver действует так же, как и обычная библиотека Java: она полностью автономна, и вам не нужно помнить, чтобы запускать какие-либо дополнительные процессы или запускать какие-либо установщики перед ее использованием.
WebDriver driver = new FirefoxDriver();
@увидеть
java -jar selenium-server-standalone-2.44.0.jar -port port_no
Я хотел бы добавить больше веб-драйверов в ответ @Saifur. /questions/36270011/kak-zapustit-selen-server-avtonomnyij/36270033#36270033
java -Dwebdriver.ie.driver=./IEDriverServer32.exe -Dwebdriver.chrome.driver=./chromedriver.exe -jar selenium.jar -port 4545
Обратите внимание, что для IE вы используете 32-битную версию драйвера. И это работает. Я создал bat-файл и поместил его в папку selenium, куда я также поместил драйверы.
Если вы используете Selenium >= 4.6, используйте
java -jar selenium-server-<version>.jar standalone
Смотрите эту страницу для дальнейших инструкций
https://www.selenium.dev/documentation/grid/getting_started/
Сначала нужно указать драйверную часть, а затем selenium jar:
java -Dwebdriver.chrome.driver=. / chromedriver -jar selenium-server-standalone-3.141.59.jar
Это сработало для Ubuntu 18.04