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

Detaillierte Analyse von or, in, union und Indexoptimierung in MySQL

Dieser Artikel entstand aus der Hausaufgabe „Erle...

Tutorial zur Docker-Installation in einer Linux-Umgebung

1. Installationsumgebung Docker unterstützt die f...

js zum Schreiben des Karusselleffekts

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

Implementierungscode für die HTML-Tabellenrahmensteuerung

Wenn wir eine Tabelle verwenden, weisen wir ihr i...

Rundungsvorgang des Datums-/Uhrzeitfelds in MySQL

Inhaltsverzeichnis Vorwort 1. Hintergrund 2. Simu...

Reines CSS zum Ändern der Farbe des Bildes

Die CSS-Technik zum Ändern der Farbe eines Bildes...

Eine kurze Analyse der Verwendung von HTML-Float

Einige Verwendungen von Float Linke Aufhängung: f...

Beispiele für Vorschaufunktionen für verschiedene Dateitypen in vue3

Inhaltsverzeichnis Vorwort 1. Vorschau der Office...