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.

  1. Laden Sie Selenium-server-standalone-.jar herunter
  2. Öffnen Sie Ihr Terminal und navigieren Sie zu dem Ordner, in dem sich Selenium-server-standalone-.jar befindet
  3. Führen Sie den folgenden Befehl aus:
    1. Für die Standardkonfiguration java -jar selenium-server-standalone-<Version>.jar -role hub
    2. Für die Json-Konfiguration java -jar selenium-server-standalone-<Version>.jar -role hub -hubConfig hubConfig.json
  4. Öffnen Sie http: // localhost: 4444 / Sie werden eine folgende Nachricht sehen

Geben Sie hier die Bildbeschreibung ein

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:

Erstellen des Knotens

Jetzt Knoten für den Hub erstellen

  1. Laden Sie Selenium-server-standalone-.jar herunter
  2. Laden Sie die Browser herunter, in denen Sie testen möchten
  3. Laden Sie die Treiber für die Browser herunter, in denen Sie testen möchten
  4. Öffnen Sie ein neues Terminal und navigieren Sie zum Speicherort der JAR-Datei des Selen-Servers
  5. Führen Sie den folgenden Befehl aus:
    1. für die Standardkonfiguration java -jar selenium-server-standalone-<VERSION NUMBER>.jar -role node
    2. Für die Json-Konfiguration java -jar selenium-server-standalone-<Version>.jar -role node -nodeConfig nodeConfig.json
  6. 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": {}
}


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow