Как запустить селен-сервер-автономный?

Я пытаюсь запустить сервер селен и получить ошибки:

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

как мне запустить сервер?

Как мне установить порт не по умолчанию для прослушивания?

Эти два поста: 1 2 - противоречит синтаксису. Я думаю.

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 может работать в одной из следующих ролей:

  1. NOT_GRID [Если опция -role пропущена, сервер работает автономно, не являясь частью сетки] >
  2. HUB [как центр Селеновой сетки]
  3. 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 (WebDriverinterface)- IP:Port/wd/hub/static/resource/hub.html:

Код и запросы RWD:

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();

Selenium Server

@увидеть

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

Другие вопросы по тегам