docker selenium tutorial
Einführung in das Docker Selenium Tutorial:
Wie in einem unserer besprochen vorheriges Tutorial Das Selenium Grid hilft dabei, unsere Testfälle unter verschiedenen Betriebssystemen und in verschiedenen Browsern auszuführen.
Dies jedoch Docker Selenium Tutorial Hier erfahren Sie mehr darüber, was ein Docker ist und wie wir ihn zusammen mit den entsprechenden Screenshots herunterladen, installieren und in das Selenium-Raster integrieren. Mit dieser bildlichen Darstellung können Sie den Vorgang auch schnell und einfach verstehen.
Was du lernen wirst:
- Was ist Selengitter?
- Ein praktisches Beispiel für die Verwendung von Selengittern
- Was ist Docker?
- Voraussetzungen für das Docker Selenium Tutorial
- Docker für Windows herunterladen
- Installieren Sie die Docker-Images
- Starten Sie Selenium Hub
- Starten Sie Selenium Nodes
- Selentests konfigurieren
- Fazit
- Literatur-Empfehlungen
Was ist Selengitter?
Das Selenium-Gitter hilft dabei, den Computer (Hub) so zu beherrschen, dass Testfälle auf die Slave-Maschinen (Knoten) verteilt werden.
Wenn wir irgendwann alle Testfälle auf einer Maschine implementieren, kann es zu Einschränkungen kommen, und manchmal reicht eine einzelne Maschine nicht aus, um alle Testfälle auszuführen, und zu diesem Zeitpunkt kommt das Selenium-Raster in die Rolle.
Ein praktisches Beispiel für die Verwendung von Selengittern
Vor 2-3 Jahren hat China Google-Produkte im Land verboten. Zu dieser Zeit mussten einige andere Unternehmen, die Websysteme für China entwickelten, ihr Websystem mit anderen Browsern testen, mit Ausnahme von Google-Produkten (Google Chrome) wie Internet Explorer, Firefox, Opera usw.
Zu dieser Zeit war das Selenium-Raster für diese Unternehmen sehr nützlich, da sie das Selenium-Raster zum Ausführen ihrer Testfälle in verschiedenen Browsern außer Google Chrome verwendeten.
Was ist Docker?
In einfachen Worten kann Docker als Container bezeichnet werden. Entwickler oder Docker-Benutzer können beispielsweise Datenbanken, Bibliotheken und Abhängigkeiten in diesen Container einfügen und diese Datenbanken, Abhängigkeiten und Bibliotheken dann zum Erstellen, Bereitstellen und Ausführen von Anwendungen verwenden.
Mithilfe von Docker-Containern können Sie eine Softwareanwendung mit allen Inhalten einrichten und packen, die zum Erstellen dieser Anwendung erforderlich sind, z. B. Datenbanken, Bibliotheken und andere Abhängigkeiten. Schließlich können Sie sie alle als ein Paket versenden.
Normalerweise müssen wir beim Konfigurieren des Selenium-Grids mehrere virtuelle Maschinen als Knoten hosten und jeden einzelnen Knoten mit dem Hub verbinden. Wenn wir ein normales Grid einrichten, müssen wir außerdem die JAR-Datei des Selenium-Servers herunterladen und diese JAR-Datei auf jedem Computer ausführen, auf dem wir das Selenium-Grid einrichten möchten.
Dies ist kostspielig und manchmal eine zeitaufwändige Aufgabe für die Tester. Docker hilft uns jedoch, kostenbezogene und zeitaufwändige Probleme zu lösen.
Docker wurde von Solomon Hykey erfunden und im März 2013 als Open-Source-Tool in die Softwareindustrie eingeführt. Heutzutage verwenden Entwickler und Systemingenieure Docker aus mehreren Gründen.
In diesem Tutorial verwenden wir Docker zum Testen von Software und zur Automatisierung von Software.
Voraussetzungen für das Docker Selenium Tutorial
Zunächst müssen wir eine Umgebung einrichten, in der das Selenium-Skript ausgeführt werden kann.
Im Folgenden sind einige Dinge aufgeführt, die wir überprüfen müssen:
- Wenn Ihr Computer aus JDK 1.7 oder einer höheren Version besteht
- Sind Chrome- und Firefox-Browser auf Ihrem lokalen Computer installiert?
- Selenium WebDriver- und TestNG-basierte Testfälle.
- Konfigurierte Testng.xml-Datei zum Ausführen von Testfällen als parallele Tests.
Docker für Windows herunterladen
Als nächstes müssen wir die Docker-Toolbox installieren. Um Docker-Befehle ausführen zu können, benötigen wir das Docker-Schnellstartterminal, das mit der Docker-Toolbox geliefert wird. Daher müssen wir die Docker-Toolbox installieren.
Wir können die Docker-Toolbox von jeder Website herunterladen. Ich würde Ihnen jedoch dringend empfehlen, die Docker-Toolbox von der offiziellen Website herunterzuladen: Docker .
Während der Installation der Docker-Toolbox werden einige Kontrollkästchen angezeigt. Um die Installation abzuschließen, müssen Sie alle diese Kontrollkästchen aktivieren und die Docker-Toolbox installieren. Wenn Sie es erfolgreich installiert haben, erhalten Sie die folgenden drei Docker-Toolbox-Symbole.
Doppelklicken Sie nach der Installation der Docker-Toolbox auf das Docker-Schnellstartterminal und öffnen Sie es. Docker konfiguriert Ihren Standardcomputer mit der IP-Adresse: 192.168.99.100 und es dauert einige Zeit, bis Sie Ihren lokalen Computer zum ersten Mal konfigurieren. Daher müssen Sie warten, bis das folgende Fenster angezeigt wird.
Docker ist erfolgreich konfiguriert!
Installieren Sie die Docker-Images
Während wir das Selenium-Grid (ohne Docker) konfigurieren, müssen wir auch Selenium-Hub und -Knoten (Browser) konfigurieren.
Wie bei einem normalen Grid müssen wir beim Konfigurieren des Selenium-Grids mit dem Docker die Hub- und Browserknoten in unserem Docker-Container installieren. Später können wir den Hub und die Knoten von diesem Docker-Container aus starten.
Daher müssen Sie zunächst die Hub- und Node-Images im Docker installieren.
Zunächst müssen wir fünf Images installieren, um unseren Test mit Docker auszuführen.
- Selen Hub Hub Bild
- Selen-Knoten-Firefox-Bild
- Selen-Knoten-Chrom-Bild
- Selenium Node-Firefox-Debug-Image
- Selenium Node-Chrome-Debug-Image
Die nächste Frage wird sein, wie man diese Bilder findet. Um diese Bilder zu finden, gehen wir weiter zu Docker Hub Suchen Sie diese Bilder nach Namen, und geben Sie den Bildnamen wie unten gezeigt in die Suchleiste ein.
Sobald Sie den Namen eingegeben und die Eingabetaste gedrückt haben, wird das folgende Fenster angezeigt.
Dieses Fenster zeigt alle Image-Repositorys, die wir für Selenium Hub haben. Hier müssen Sie auf das Bild klicken, das die meisten Pulls aufweist, und es hilft, unseren Code fehlerfrei auszuführen. Sobald Sie auf dieses Bild klicken, sehen Sie ein anderes Fenster wie das unten angegebene.
(Hinweis:Klicken Sie auf ein Bild, um es zu vergrößern.)
Was leistet die Überprüfungsphase im Software-Lebenszyklus?
In diesem Fenster erhalten Sie alle Informationen zum Image (Selenium Hub-Image) und alle für dieses Image relevanten Befehle (Selenium Hub-Image). Hier ist der Docker-Pull-Befehl der Befehl zum Installieren dieses Docker-Images in Ihrem Container.
Daher müssen wir zunächst das Selenium-Hub-Image installieren. Dazu müssen Sie den Docker-Pull-Befehl kopieren und wie unten gezeigt in das Docker-Schnellstartterminal einfügen.
Nachdem Sie jeden Befehl in das Docker-Schnellstartterminal eingegeben haben, müssen Sie einige Zeit warten, damit die Bilder in Ihren Docker-Container heruntergeladen werden können. Die Wartezeit hängt vollständig von der Geschwindigkeit Ihrer Netzwerkverbindung ab. Manchmal schlagen einige Images während der Installation oder des Herunterladens fehl. In diesem Fall ist es am besten, das Image erneut zu installieren, bis das Terminal nach Abschluss der Installation angezeigt wird.
Ein weiterer wichtiger Faktor ist, dass der zweite Befehl nicht eingegeben werden sollte, bevor der Download des ersten Befehls abgeschlossen ist. Sowohl der Download als auch die Installation schlagen fehl.
Ebenso können Sie alle fünf oben genannten Bilder in Ihrem Docker-Container suchen und installieren.
Die folgende Tabelle zeigt alle Pull-Befehle, die Sie in das Schnellstart-Terminal eingeben und installieren müssen.
Bild | Befehl |
---|---|
Selen Hub | Docker ziehen Selen / Nabe |
Selen-Firefox-Knoten | Docker Pull Selen / Node-Firefox |
Selen-Chrom-Knoten | Docker Pull Selen / Node-Chrome |
Selenium Firefox Debug | Docker Pull Selen / Node-Firefox-Debug |
Selen-Chrom-Debug | Docker Pull Selen / Node-Chrome-Debug |
Nachdem Sie alle Bilder in Ihren Container heruntergeladen haben, können Sie sie mit dem folgenden Befehl überprüfen.
Docker-Bilder
Jetzt werden alle Bilder erfolgreich heruntergeladen. Daher können wir diese Bilder einzeln ausführen.
Starten Sie Selenium Hub
In einem normalen Selenium-Gitter (ohne Docker) besteht der erste Schritt darin, den Selenium-Hub zu starten. Um den Selenium Hub vom Docker-Container aus zu starten, haben wir einen speziellen Befehl:
Docker-Lauf -d -p 4444: 4444 –Name Selen-Hub Selen / Hub
Sobald Sie diesen Befehl in Ihr Terminal eingegeben haben, wird der Selenium-Hub im Docker-Container geöffnet. Sie können überprüfen, ob der Selenium-Hub gestartet wurde oder nicht, indem Sie den folgenden Link in Ihrem Browser überprüfen: http://192.168.99.100:4444/grid/console
Hier in diesem Bild ist 192.168.99.100 Ihre IP-Adresse
Starten Sie Selenium Nodes
Der Selenium-Hub wird gestartet und als nächstes müssen die Knoten aus dem Docker-Container gestartet werden. Wir müssen den Chrome-Knoten und den Firefox-Knoten starten. Wir haben beide Knoten-Images während des Installationsprozesses in unseren Docker-Container installiert.
Beginnen wir nun mit beiden Knoten nacheinander. Denken Sie auch daran, dass Sie so viele Knoten ausführen können, wie Sie möchten. Hier habe ich nur zwei Knoten verwendet (Chrome-Knoten und Firefox-Knoten).
Befehl zum Ausführen des Chrome-Knotens von Docker aus: Docker run -d –link Selen-Hub: Hub-Selen / Node-Chrome
Befehl zum Ausführen des Firefox-Knotens von Docker aus: Docker run -d –link Selen-Hub: Hub-Selen / Node-Firefox
Nachdem Sie den Chrome-Knoten und den Firefox-Knoten ausgeführt haben, müssen Sie auch den Chrome-Debug-Knoten und den Firefox-Debug-Knoten ausführen. Wir führen den Chrome-Debug-Knoten und den Firefox-Debug-Knoten zu Demonstrationszwecken aus und installieren ihn. Am Ende dieses Tutorials werde ich einen Testfall in beiden Debug-Knoten mithilfe des VNC-Viewers (Virtual Network Computing) ausführen.
Für den VNC-Viewer benötigen wir sowohl den Debug-Knoten von Firefox als auch Chrome. Mit dem VNC-Viewer (Virtual Network Computing) können wir verschiedene Browseraktionen gleichzeitig auf einem Computer anzeigen.
Befehl zum Ausführen des Chrome-Debug-Knotens von Docker aus: Docker run -d –P –link Selenium-Hub: Hub-Selen / Node-Chrome-Debug
Befehl zum Ausführen des Firefox-Debugknotens von Docker aus: Docker run -d –P –link Selenium-Hub: Hub-Selen / Node-Firefox-Debug
Manchmal werden beide Befehle vom Docker-Schnellstartterminal ignoriert. Wenn Ihr Docker-Schnellstartterminal diese beiden Befehle ignoriert, können Sie alternativ die folgenden Befehle verwenden, um den Debug-Modus von Chrome- und Firefox-Browsern zu starten.
Alternative 01
Docker run –d –P –link Selenium-Hub: Hub-Selen / Node-Chrome-Debug
Docker run –d –P –link Selenium-Hub: Hub-Selen / Node-Firefox-Debug
Alternative 02
Docker run –d –link Selenium-Hub: Hub Selenium / Node-Chrome-Debug
Docker run –d –link Selenium-Hub: Hub Selenium / Node-Firefox-Debug
Nachdem Sie sowohl die Knoten als auch die Debug-Knoten von Chrome- und Firefox-Knoten sowie Chrome und Firefox ausgeführt haben, können Sie Ihren Browser aktualisieren. Firefox- und Chrome-Knoten finden Sie ausgehend von Ihrem Container.
Wenn während der Installation oder Ausführung von Images ein Fehler auftritt, installieren Sie das jeweilige Image am besten erneut und führen Sie es erneut über Docker aus.
Wir haben jetzt alle Schritte auf der Docker-Containerseite abgeschlossen. Als nächstes müssen wir das Selenium-Skript und den VNC-Viewer für unsere Demonstration beachten.
reguläre Ausdrücke in c ++
Zunächst müssen wir die Portnummern der laufenden Chrome- und Firefox-Debug-Knoten identifizieren. Weil wir diese Portnummern für den VNC-Viewer benötigen.
Um die Portnummern von Chrome und Firefox-Knoten zu identifizieren, können Sie den folgenden Befehl in Ihr Schnellstartterminal eingeben. In der Spalte PORTS werden alle Docker-Images und die laufenden Ports jedes Images angezeigt.
Docker ps - a
Knoten | Ausführen von Portnummern |
---|---|
Chrome-Debug-Knoten | 32771 |
Firefox-Debugknoten | 32772 |
Jetzt kennen wir die Portnummern der laufenden Chrome- und Firefox-Debug-Knoten, sodass wir beide Browser mit dem VNC-Viewer starten können.
Dazu müssen wir die folgenden Schritte ausführen:
1) Laden Sie den VNC-Viewer von der offiziellen Website herunter: Laden Sie VNC herunter
2) Starte es
3) Geben Sie die Hub-URL und die Portnummer jedes Debug-Modus wie unten gezeigt ein und klicken Sie auf die Schaltfläche Verbinden
HUB URL :: PORT-NUMMER
- Für Chrome-Browser 192.168.99.100 :: 32771
4) Nach dem Klicken auf die Schaltfläche Verbinden fragt der VNC-Viewer nach einem Passwort. Standardmäßig lautet das Kennwort für den VNC-Viewer Geheimnis Geben Sie das Passwort als ein Geheimnis Klicken Sie auf OK, um ein Fenster für den Chrome-Browser anzuzeigen.
5) Ebenso müssen Sie dasselbe für den Firefox-Browser tun, indem Sie einen VNC-Viewer verwenden. Öffnen Sie die VNC-Anwendung auf Ihrem lokalen Computer, verwenden Sie die Firefox-Laufportnummer mit der Hub-URL und klicken Sie auf die Schaltfläche Verbinden.
- Für Firefox-Browser 192.168.99.100 :: 32772
Wieder wird ein weiteres Fenster für den Firefox-Browser geöffnet.
Jetzt werden beide Browser im VNC-Viewer angezeigt. Unsere nächste Aufgabe ist es, das Selenskript zu schreiben und auszuführen.
Selentests konfigurieren
Wie üblich können wir ein Testskript erstellen, das für das Selengitter relevant ist. Schritte zum Erstellen eines Selengitterskripts werden in unserem Abschnitt beschrieben Tutorial zum Selengitter .
Hier ist das Skript, das ich erstellt habe. Dies ist ein normales Selenskript. Ich habe zwei Tests erstellt und die gewünschte Fähigkeit dieser Tests auf zwei verschiedene Browser eingestellt, die wir erstellt haben.
Außerdem habe ich meine XML-Datei geändert, um den Test parallel auszuführen.
Wir haben alle Schritte abgeschlossen und Sie können Ihren Test jetzt ausführen. Nachdem Sie Ihren Test ausgeführt haben, können Sie sehen, wie der Test in zwei verschiedenen Browsern ausgeführt wird, die wir mit Docker erstellt haben. Der VNC-Viewer zeigt, wie ein Browser gleichzeitig zu jeder Website navigiert.
Fazit
Wenn Sie eine große Anzahl von Testfällen haben, können Sie das Selenium-Raster verwenden, um die Ausführung Ihrer Testfälle zu beschleunigen. Manchmal müssen wir Ihre Testfälle unter verschiedenen Betriebssystemen ausführen und testen, und manchmal müssen Sie Ihre Testfälle auch unter verschiedenen Browsern überprüfen. In solchen Fällen verwenden wir das Selen-Gitter.
Manchmal kann die Konfiguration des Selenium-Netzes ein kostenintensiver und zeitaufwändiger Prozess sein, da wir mehrere Maschinen benötigen. In solchen Fällen ist es am besten, das Selenium Grid mit Docker zu verwenden.
Literatur-Empfehlungen
- Selenium Grid Tutorial: Setup und Beispiel für Cross-Browser-Tests
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- Einführung in Selenium WebDriver - Selenium Tutorial # 8
- Ausführliche Eclipse-Tutorials für Anfänger
- Effizientes Selenium-Scripting und Fehlerbehebungsszenarien - Selenium-Lernprogramm Nr. 27
- Debuggen von Selenium-Skripten mit Protokollen (Log4j Tutorial) - Selenium Tutorial # 26
- 30+ beste Selen-Tutorials: Lernen Sie Selen anhand realer Beispiele
- Einführung in JUnit Framework und seine Verwendung in Selenium Script - Selenium Tutorial # 11