selenium-webdriver
Selen-Gitterkonfiguration
Suche…
Einführung
Selenium Grid ist ein Framework zum Ausführen von Tests, die über eine Reihe von Testgeräten verteilt werden. Es wird zum Testen von Webanwendungen verwendet. Es ist möglich, Tests in verschiedenen gängigen Programmiersprachen zu schreiben, einschließlich C #, Groovy, Java, Perl, PHP, Python und Ruby. Die Tests können mit einer Reihe von Webbrowsern auf Plattformen wie Windows, Linux und OS X ausgeführt werden.
Es handelt sich um Open-Source-Software, die unter der Apache 2.0-Lizenz veröffentlicht wird: Webentwickler können sie kostenlos herunterladen und verwenden.
Syntax
- Für die Ausführung der JAR-Datei gilt die folgende Syntax für jede JAR-Datei
-
java -jar <jar-file-full-name>.jar -<your parameters if any>
Parameter
Parameter | Einzelheiten |
---|---|
Rolle | Ist das, was dem Selen mitteilt, welches hub oder node es war |
Hafen | Hiermit legen Sie fest, welchen Port der hub oder node abhören soll. |
Nabe | Dieser Parameter wird im node , um die Hub-URL anzugeben |
browserName | Es wurde in node , um den Browsernamen wie Firefox, Chrome oder Internet Explorer anzugeben |
maxInstanzen | Hier wird die Instanz des Browsers angegeben, z. 5 bedeutet, dass es 5 Instanzen des Browsers gibt, von denen der angegebene Benutzer vorhanden ist. |
nodeConfig | Eine Json-Konfigurationsdatei für den Knoten. Hier können Sie die Rolle, den Port usw. angeben |
hubConfig | Eine Json-Konfigurationsdatei für den Knoten. Hier können Sie die Rolle, den Port, die maximale Anzahl von Instanzen usw. angeben |
Java-Code für Selenium Grid
String hubUrl = "http://localhost:4444/wd/hub"
DesiredCapabilities capability = DesiredCapabilities.firefox(); //or which browser you want
RemoteWebDriver driver = new RemoteWebDriver(hubUrl, capability);
Erstellen eines Selenium Grid-Hubs und -Knotens
Erstellen eines Hubs
Eine schnelle Konfiguration für ein Hub- und Knoten-Setup im Selen-Gitter. Weitere Informationen finden Sie unter: Raster 2 Dokumente
Bedarf
Um einen Grid-Hub einzurichten, benötigen Sie das Fließende:
Hub erstellen
Um einen Hub zu erstellen, müssen Sie den Selenserver ausführen.
- Laden Sie Selenium-server-standalone-.jar herunter
- Öffnen Sie Ihr Terminal und navigieren Sie zu dem Ordner, in dem sich Selenium-server-standalone-.jar befindet
- Führen Sie den folgenden Befehl aus:
- Für die Standardkonfiguration
java -jar selenium-server-standalone-<Version>.jar -role hub
- Für die Json-Konfiguration
java -jar selenium-server-standalone-<Version>.jar -role hub -hubConfig hubConfig.json
- Für die Standardkonfiguration
- Öffnen Sie http: // localhost: 4444 / Sie werden eine folgende Nachricht sehen
Klicken Sie auf console
-> View config
for, um die Konfiguration für die Hub-Details anzuzeigen.
Einen Knoten erstellen
Bedarf
Um einen Grid-Hub einzurichten, benötigen Sie das Fließende:
- Selen-Server-Standalone-.jar
- Webtreiber
- Browser
- Chrom
- Feuerfuchs
- Microsoft Edge (Windows 10)
Erstellen des Knotens
Jetzt Knoten für den Hub erstellen
- Laden Sie Selenium-server-standalone-.jar herunter
- Laden Sie die Browser herunter, in denen Sie testen möchten
- Laden Sie die Treiber für die Browser herunter, in denen Sie testen möchten
- Öffnen Sie ein neues Terminal und navigieren Sie zum Speicherort der JAR-Datei des Selen-Servers
- Führen Sie den folgenden Befehl aus:
- für die Standardkonfiguration
java -jar selenium-server-standalone-<VERSION NUMBER>.jar -role node
- Für die Json-Konfiguration
java -jar selenium-server-standalone-<Version>.jar -role node -nodeConfig nodeConfig.json
- für die Standardkonfiguration
- Gehen Sie nun zu http: // localhost: 4444 / grid / console , um die Knotendetails anzuzeigen
Konfiguration über Json
Eine Beispielkonfiguration für einen Hub:
java -jar selenium-server-standalone-<version>.jar -role hub -hubConfig hubConfig.json
{
"_comment" : "Configuration for Hub - hubConfig.json",
"host": ip,
"maxSessions": 5,
"port": 4444,
"cleanupCycle": 5000,
"timeout": 300000,
"newSessionWaitTimeout": -1,
"servlets": [],
"prioritizer": null,
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 180000,
"platform": "WINDOWS"
}
Eine Beispielkonfiguration für einen Knoten
java -jar selenium-server-standalone-<version>.jar -role node -nodeConfig nodeConfig.json
{
"capabilities":
[
{
"browserName": "opera",
"platform": "WINDOWS",
"maxInstances": 5,
"seleniumProtocol": "WebDriver",
"webdriver.opera.driver": "C:/Selenium/drivers/operadriver.exe",
"binary":"C:/Program Files/Opera/44.0.2510.1159/opera.exe"
},
{
"browserName": "chrome",
"platform": "WINDOWS",
"maxInstances": 5,
"seleniumProtocol": "WebDriver",
"webdriver.chrome.driver": "C:/Selenium/drivers/chromedriver.exe",
"binary":"C:/Program Files/Google/Chrome/Application/chrome.exe"
},
{
"browserName": "firefox",
"platform": "WINDOWS",
"maxInstances": 5,
"seleniumProtocol": "WebDriver",
"webdriver.gecko.driver": "C:/Selenium/drivers/geckodriver.exe",
"binary":"C:/Program Files/Mozilla Firefox/firefox.exe"
}
],
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 5555,
"register": true,
"registerCycle": 5000,
"hub": "http://localhost:4444",
"nodeStatusCheckTimeout": 5000,
"nodePolling": 5000,
"role": "node",
"unregisterIfStillDownAfter": 60000,
"downPollingLimit": 2,
"debug": false,
"servlets" : [],
"withoutServlets": [],
"custom": {}
}