Ich versuche, den Selenium-Server auszuführen und erhalte Fehler:
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.
und ohne -r (was ist das überhaupt?)
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
wie soll ich den Server starten?
wie kann ich einen nicht standardmäßigen Port zum Abhören einstellen?
Diese beiden Beiträge: 12 - widerspricht der Syntax. Meiner Ansicht nach.
Java -jar seleniumjar.jar -Dwebdriver.chrome.driver=./chromedriver
Wenn Sie den Port angeben möchten, tun Sie dies
Java -jar seleniumjar.version.jar -Dwebdriver.chrome.driver=./chromedriver -port 4545
Ab 3.8.1 ist die Angabe des Treibers nicht mehr erforderlich:
Java -jar seleniumjar.jar
Standalone ausführen Selenium Server :
Form Jar-QuelleMain-Class istorg.openqa.grid.Selenium.GridLauncher
Gemäß der GridRole
-Klasse kann der Selenium-Server in einer der folgenden Rollen ausgeführt werden:
NOT_GRID
_ [Wenn die Option -role nicht angegeben ist, führt der Server Standalone-Server aus, die nicht Teil eines Grids sind]>HUB
_ [als Knotenpunkt eines Selengitters)NODE
_ [als Knoten eines Selen-Gitters]
D:\> Java -jar Selenium-server-standalone-*.jar -Host 127.0.0.1 -port 4444
NOT GRID
RC
(Selenium interface)
- IP:Port/Selenium-server
:Selenium Remote Control ( RC ) erfordert, dass der Server gestartet wird, bevor die Testskripts ausgeführt werden. Der RC-Server fügt Selenium core (JavaScript) in den Browser ein. Der Core-Prozess (Daemon-Prozess) empfängt Befehle vom Server durch Ihre Testskripte und führt sie in einem Browser aus, um die Ergebnisse an Ihr Programm weiterzuleiten. Das Verschieben von Mauscursors und die mobile Ausführung ist jedoch nicht möglich.
Java-Client-Treiber: Client-Konfiguriert Ihren Browser für die Verwendung des Selenium-Servers als HTTP-Proxy und übergibt Browserbefehle über "/Selenium-server/RemoteRunner.html?sessionId=1234"
an den Server. Clients können die Driver Command-Anforderungen über HTTP wie folgt an den Selenium-Server senden :
Code & Requests: RC Server läuft kontinuierlich. Wir erstellen einen Dämon und kommunizieren mit diesem Browser.
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'] }
Grid: [- IP:Port/grid/console
]
HUB _ Grid HUB Running as a standalone server:
Hub ist ein zentraler Punkt, der Tests auf mehrere Knotenmaschinen verteilt, die für die parallele Ausführung registriert sind.
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] muss eine Anforderung an HUB senden, um sich unter dieser URL - IP:Port//grid/register
- registrieren zu können.
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 Instanz INFO: browserName = chrome, Version = 53.0, maxinstance = 1, platform = WINDOWS-Befehlszeilenparameter mit Systemeigenschaft values -Dproperty = value -D chrome = driverAddress (Wenn value eine Zeichenfolge ist, die Leerzeichen enthält, müssen Sie die Zeichenfolge in doppelte Anführungszeichen setzen.)
Knotenregistrierung mit einer JSON-Konfigurationsdatei 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 erfordert vor dem Start keine Serverstart. Sie können sehen, dass WebDriver genau wie eine normale Java-Bibliothek handelt: Sie ist vollständig in sich abgeschlossen, und Sie müssen nicht daran denken, zusätzliche Prozesse zu starten oder Installationsprogramme auszuführen, bevor Sie sie verwenden.
WebDriver driver = new FirefoxDriver();
@sehen
Java -jar Selenium-server-standalone-2.44.0.jar -port port_no
Ich möchte weitere Web-Treiber zur Antwort von @Saifur hinzufügen . https://stackoverflow.com/a/28854250/4587961
Java -Dwebdriver.ie.driver=./IEDriverServer32.exe -Dwebdriver.chrome.driver=./chromedriver.exe -jar Selenium.jar -port 4545
Beachten Sie, dass Sie für IE eine 32-Bit-Version des Treibers ausführen. Und es funktioniert. Ich habe eine Bat-Datei erstellt und in den Selenium-Ordner gelegt, in den ich auch Treiber gesteckt habe.