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

Eine Untersuchung des JS-Operators im Problem

Die Sache ist: Jeder kennt „Speicherlecks“. Es gi...

Die Darstellung und Öffnungsmethode eines Hyperlinks

<br />Verwandte Artikel: So rufen Sie einen ...

JavaScript zur Implementierung der Webversion des Schlangenspiels

In diesem Artikel wird der spezifische Code für J...

So implementieren Sie das Abfangen von URIs im Nginx-Standort

veranschaulichen: Stamm und Alias ​​im Standort D...

Vue implementiert eine Wettervorhersagefunktion

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

Tutorial zum Erstellen eines CA-Zertifikats unter Linux Centos8

Installieren der erforderlichen Dateien Yum insta...

Detaillierte Erläuterung des vite2.0-Konfigurationslernens (Typescript-Version)

einführen Die ursprünglichen Worte von You Yuxi. ...

So verwenden Sie dynamische Parameter und berechnete Eigenschaften in Vue

1. Dynamische Parameter Ab 2.6.0 können Sie einen...

Detaillierte Erklärung von JavaScript zur Überwachung von Routenänderungen

Inhaltsverzeichnis Geschichte pushState() Methode...

Häufig verwendete HTML-Meta-Enzyklopädie (empfohlen)

Der Meta-Tag ist ein Hilfstag im Head-Bereich der...