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

JS 4 super praktische Tipps zur Verbesserung der Entwicklungseffizienz

Inhaltsverzeichnis 1. Kurzschlussurteil 2. Option...

Detaillierte Erklärung des JS-Browser-Ereignismodells

Inhaltsverzeichnis Was ist ein Ereignis Ein einfa...

Probleme mit Join-Abfragen und Unterabfragen in MySQL

Inhaltsverzeichnis Grundlegende Syntax für Multi-...

Prinzip des Linux-Nohup-Befehls und Beispielanalyse

nohup-Befehl Bei der Verwendung von Unix/Linux mö...

Eine kurze Zusammenfassung von Vue Keep-Alive

1. Funktion Wird hauptsächlich verwendet, um den ...

Beispielanalyse des Seitenaufteilungsprinzips des MySQL-Clusterindex

Dieser Artikel veranschaulicht anhand eines Beisp...

Einfacher Vergleich von Meta-Tags in HTML

Das Meta-Tag wird verwendet, um Dateiinformationen...

Mini-Programm implementiert Listen-Countdown-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

So vermeiden Sie die Duplizierung von Daten beim Einfügen in einen MySql-Batch

Inhaltsverzeichnis Vorwort 1. Einfügen von ignore...

jQuery realisiert den Effekt der Sitzplatzauswahl und -reservierung im Theater

jQuery realisiert den Effekt der Sitzplatzauswahl...

Verwenden von Schleifen in awk

Lernen wir verschiedene Arten von Schleifen kenne...

jQuery implementiert den Tabellen-Paging-Effekt

In diesem Artikel wird der spezifische Code von j...