Erstellen einer verteilten Selenium-Umgebung basierend auf Docker

Erstellen einer verteilten Selenium-Umgebung basierend auf Docker

1. Laden Sie das Bild herunter

Docker-Pull Selenium/Hub
Docker-Pull Selenium/Node-Firefox
Docker-Pull Selenium/Node-Chrome

Hinweis: Selenium/Node-Firefox und Selenium/Node-Chrome sind beide Headless.

Um die in Echtzeit ausgeführte Schnittstelle anzuzeigen, müssen Sie eines der folgenden beiden Bilder verwenden.

Docker Pull Selenium/Standalone-Chrome-Debug
Docker Pull Selenium/Standalone-Firefox-Debug

2. Starten Sie den Docker des Hub-Knotens

docker run -p 4444:4444 -d --name hub selenium/hub

Parameterbeschreibung:

  • ausführen: Führen Sie ein Image aus und erstellen Sie einen Container.
  • -p 4444:4444: Ordnen Sie den Port im Container zu.
  • -d: Im Hintergrund ausführen
  • --name: Containername, hier werde ich diesen Container einfach Hub nennen

3. Starten Sie den Docker von Node

docker run -P -d --link hub:hub --name firefox selenium/node-firefox
docker run -P -d --link hub:hub --name chrome selenium/node-chrome

Oder ein Knoten mit einer Debug-Schnittstelle

docker run -d -p 5900:5900 --link hub:hub selenium/node-chrome-debug

Parameterbeschreibung:

--link ist ein Link zum Container mit dem Alias-Hub.

4. Installieren und konfigurieren Sie VNC

VNC (Virtual Network Console) ist die Abkürzung für virtuelle Netzwerkkonsole. Es handelt sich um eine hervorragende Fernsteuerungssoftware, eine kostenlose Open-Source-Software auf Basis der Betriebssysteme UNIX und Linux mit leistungsstarken, effizienten und praktischen Fernsteuerungsfunktionen.

Download-Adresse: https://www.realvnc.com/en/connect/download/viewer/

5. Testcode

Um den Selenium Grid-Dienst zu verwenden, müssen Sie die Methode webdriver.Remote verwenden, um eine Verbindung mit dem Dienst herzustellen und die gewünschten gewünschten Funktionen zu übergeben. Das Beispielskript sieht wie folgt aus.

ab Zeitimport Schlaf
von Selenium importiere Webtreiber


Treiber = Webtreiber.Remote(
command_executor = 'http://192.168.99.100:4444/wd/hub',
gewünschte_Funktionen={'browserName': 'chrome'}
)

Treiber.get('https://www.baidu.com')
drucken("Ausführen starten")
Schlaf(1)
drucken(Treiber.Titel)
Treiber.beenden()
drucken("Ende...")

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Praktische Möglichkeit zum Erstellen einer verteilten Selenium-Grid-Umgebung mit Docker
  • Docker+Selenium-Methode zur Realisierung automatischer Gesundheitsberichte
  • So verwenden Sie Selenium + Testng, um Webautomatisierung in Docker zu realisieren
  • Beispielcode zum Testen einer Technologieanwendung basierend auf Docker+Selenium Grid

<<:  Eine kurze Diskussion über den Vater-Sohn-Werttransfer in Vue3

>>:  4 Lösungen für MySQL-Import-CSV-Fehler

Artikel empfehlen

So optimieren Sie den MySQL-Deduplizierungsvorgang maximal

Inhaltsverzeichnis 1. Clevere Verwendung von Indi...

So versuchen Sie, Ihrem CSS einen Sticky-Effekt hinzuzufügen

Vorne geschrieben Ich weiß nicht, wer als Erster ...

Eine kurze Diskussion darüber, ob zu viele MySQL-Datenabfragen OOM verursachen

Inhaltsverzeichnis Auswirkungen eines vollständig...

So löschen Sie zusätzliche Kernel in Ubuntu

Schritt 1: Den aktuellen Kernel anzeigen rew $ un...

Lernen Sie die asynchrone Programmierung in Node.js in einem Artikel

Inhaltsverzeichnis Einführung Synchron Asynchron ...

Grafisches Tutorial zur Installation und Konfiguration von mysql5.7.20 (Mac)

Grafisches Tutorial zur Installation und Konfigur...

Zusammenfassung von 6 Methoden zur Anzeige von Linux-Protokollen

Als Backend-Programmierer haben Sie an vielen Ste...

Detaillierte Erläuterung der Laderegeln der require-Methode in node.js

Laderegeln der Require-Methode Laden aus dem Cach...