Как запустить селен-сервер-автономный?
Я пытаюсь запустить сервер selenium и получить ошибки:
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 - противоречит синтаксису, Я думаю.
Ответы
Ответ 1
java -jar seleniumjar.jar -Dwebdriver.chrome.driver=./chromedriver
Если вы хотите указать порт do
java -jar seleniumjar.version.jar -Dwebdriver.chrome.driver=./chromedriver -port 4545
Как и в случае 3.8.1, указание драйвера больше не требуется:
java -jar seleniumjar.jar
Ответ 2
java -jar selenium-server-standalone-2.44.0.jar -port port_no
Ответ 3
Запуск автономного Селеновый сервер:
Форма Jar Source Основной класс - org.openqa.grid.selenium.GridLauncher
В соответствии с классом GridRole
- сервер Selenium может работать в одной из следующих ролей:
-
NOT_GRID
[Если опция -role отсутствует, сервер работает автономно, не являясь частью сетки] > -
HUB
[в качестве узла сетки селена] -
NODE
[как node сетки селена]
D:\> java -jar selenium-server-standalone-*.jar -host 127.0.0.1 -port 4444
НЕ СЕТЬ
Selenium Удаленное управление (RC) требует запуска сервера перед выполнением тестовых скриптов. RC-сервер внедряет ядро Selenium (JavaScript) в браузер. Ядро (процесс daemon) получает команды с сервера вашими тестовыми скриптами и выполняет их в браузере, а затем приводит к вашей программе. Но он не может обрабатывать движущиеся курсоры мыши и мобильное выполнение.
Драйвер Java-клиента:
Клиент. Настраивает ваш браузер для использования Selenium Server в качестве прокси-сервера 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
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'] }
Grid: [- IP:Port/grid/console
]
HUB Grid HUB Running as a standalone server:
Hub - это центральная точка, которая распределяет тесты на нескольких node -машинах, которые зарегистрированы для него для параллельного выполнения.
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:
browser Instance INFO: browserName = chrome, version = 53.0, maxinstance = 1, platform = WINDOWS Параметры командной строки с Системное свойство values -Dproperty = value -D chrome= driverAddress (Если значение представляет собой строку, содержащую пробелы, вы должны заключить строку в двойные кавычки)
Node с конфигурационным файлом 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]()
@see
Ответ 4
Я хотел бы добавить больше webdrivers к ответу @Saifur.
fooobar.com/info/45124/...
java -Dwebdriver.ie.driver=./IEDriverServer32.exe -Dwebdriver.chrome.driver=./chromedriver.exe -jar selenium.jar -port 4545
Примечание. Для IE вы запускаете 32-разрядную версию драйвера. И это работает. Я создал файл bat и поместил его в папку selenium, где я также разместил драйверы.