Selenium ist ein Open-Source-, automatisiertes und wertvolles Testwerkzeug, das allen Entwicklern von Webanwendungen bekannt sein sollte. Ein Test, der mit Selenium durchgeführt wird, wird normalerweise als Selenium-Automatisierungstest bezeichnet. Selenium ist jedoch nicht nur ein einzelnes Tool, sondern eine Sammlung von Tools, die jeweils auf unterschiedliche Selenium-Automatisierungstestanforderungen zugeschnitten sind. In diesem Tutorial erfahren Sie alles über Selenium und die verschiedenen Arten von Selenium Automation Testing Tools.
Einführung in Selenium Automation Testing
Bevor wir uns jedoch mit diesem Tutorial zum Testen von Selenium Automation befassen, sollten wir uns zunächst mit der Notwendigkeit von Selenium Automation Testing befassen und wie Selen überhaupt ins Bild kam.
Manuelles Testen, ein wesentlicher Bestandteil des Anwendungsentwicklungsprozesses, weist leider viele Mängel auf, vor allem, dass der Prozess eintönig und repetitiv ist. Um diese Hindernisse zu überwinden, beschloss Jason Huggins, Ingenieur bei Thoughtworks, den Testprozess zu automatisieren. Er entwickelte ein JavaScript-Programm namens JavaScriptTestRunner, das das Testen von Webanwendungen automatisiert. Dieses Programm wurde 2004 in Selenium umbenannt.
Nach Abschluss dieses Tutorials sollten Sie wichtige Selenium Automation Testing-Konzepte wie TestNG, Selenium IDE, Selenium Grid, Selenium WebDriver mit Selenium Certification Training Course beherrschen!
Ein Nachteil von Selenium Automation Testing besteht darin, dass es nur für Webanwendungen funktioniert, wodurch Desktop- und mobile Apps im Dunkeln gelassen werden. Tools wie Appium und HP’s QTP können jedoch unter anderem zum Testen von Software und mobilen Anwendungen verwendet werden.
Heben Sie sich in dieser Beurteilungssaison von Ihren Kollegen ab
Beginnen Sie mit unseren KOSTENLOSEN Kursen zu lernenjetzt anmelden
Selenium Automatisierungs-Testwerkzeuge
Selenium besteht aus einer Reihe von Tools, die den Testprozess erleichtern.
Abb: Selenium suite
Selenium IDE
Der nächste Abschnitt des Selenium Automation Testing-Lernprogramms behandelt alles, was Sie über Selenium IDE wissen müssen. Shinya Kasatani entwickelte 2006 die Selenium Integrated Development Environment (IDE). Herkömmlicherweise handelt es sich um eine benutzerfreundliche Oberfläche, die die Benutzerinteraktionen aufzeichnet, um automatisierte Testskripte zu erstellen. Es ist ein Firefox- oder Chrome-Plugin, das im Allgemeinen als Prototyping-Tool verwendet wird. Es wurde hauptsächlich entwickelt, um die Erstellung von Automatisierungsskripten zu beschleunigen.
IDE hörte im August 2017 auf zu existieren, als Firefox auf die neue Firefox 55-Version aktualisiert wurde, die Selenium IDE nicht mehr unterstützte. Applitools hat die alte Selenium-IDE neu geschrieben und kürzlich eine neue Version veröffentlicht. Die neueste Version kam mit mehreren Verbesserungen, wie zum Beispiel:
- Wiederverwendbarkeit von Testskripten
- Debuggen von Testskripten
- Selenium Side Runner
- Bereitstellung von Steuerflussanweisungen
- Verbesserte Locator-Funktionalität
Schauen wir uns nun die Selenium IDE genauer an.
IDE installieren:
Schritt 1- Öffnen Sie den Firefox-Browser
Schritt 2- Klicken Sie auf das Menü in der oberen rechten Ecke
Schritt 3- Klicken Sie im Dropdown-Feld auf Add-ons.
Schritt 4- Klicken Sie auf Weitere Add-Ons suchen und geben Sie „Selenium IDE“ ein
Schritt 5- Klicken Sie auf Zu Firefox hinzufügen
Nach der Installation wird das Selenium IDE-Symbol in der oberen rechten Ecke des Browsers angezeigt. Sobald Sie darauf klicken, wird eine Begrüßungsnachricht angezeigt.
Aufzeichnen eines Tests
In diesem Abschnitt des Selenium Automation Testing-Lernprogramms erfahren Sie, wie Sie einen Test aufzeichnen. Erstellen wir zunächst einen neuen Test für ein neues Projekt. Geben Sie einen Namen für Ihr Projekt an, in diesem Beispiel nennen wir es demo_project. Vor der Aufnahme müssen wir eine gültige URL angeben. Die Aufzeichnung beginnt, sobald der Browser zu dieser URL navigiert. Navigieren wir zur Facebook-Anmeldeseite.
Wenn Sie auf „Aufnahme starten“ klicken, werden Sie zur Facebook-Seite weitergeleitet und beginnen mit der Aufzeichnung der Benutzerinteraktionen. Dem Nutzer steht es frei, die Aufzeichnung zu beenden. Alle Benutzeraktionen werden aufgezeichnet und in ein Skript umgewandelt.
Speichern Sie Ihre Arbeit
Als nächstes erfahren Sie, wie Sie Ihre Arbeit in diesem Selenium Automation Testing Tutorial speichern. Um alles, was Sie gerade in der IDE getan haben, zu speichern, klicken Sie auf das Symbol Speichern in der oberen rechten Ecke der IDE. Sie werden aufgefordert, einen Namen und einen Speicherort für das Projekt anzugeben. Das Ergebnis ist eine einzelne Datei mit der Erweiterung.side.
Wiedergabe
Im Browser: Sie können Tests in der Selenium Automation Testing IDE wiedergeben, indem Sie den Test auswählen, den Sie abspielen möchten, und auf die Schaltfläche Wiedergabe klicken.
Für die browserübergreifende Wiedergabe können Sie den Befehlszeilen-Runner verwenden.
Selenium Remote Control (RC)
Ein weiteres interessantes Thema, das dieses Selenium Automation Testing Tutorial behandelt, ist Fernbedienung oder RC. Es deckt auch den Grund ab, warum RC überhaupt entstanden ist. Paul Hammant entwickelte Selenium Remote Control.
Ursprünglich hieß Selenium-Core „JavaScriptTestRunner“, ein Tool, das 2004 von Jason Huggins entwickelt wurde. Es handelte sich um eine Reihe von JavaScript-Funktionen, die selenesische Befehle mithilfe des integrierten JavaScript-Interpreters des Browsers interpretierten und ausführten. Selenium-Core wurde dann in den Webbrowser injiziert.
Betrachten wir nun einen JavaScript-Test.js verwendet von google.com . Dieses Programm kann auf Seiten wie zugreifen google.com/mail oder google.com/login innerhalb der google.com domäne.
Abb: Selenium RC
Das Programm kann jedoch nicht auf Elemente anderer Domänen wie zugreifen Yahoo.com . Local-Kopien von Selenium-Core und dem Webbrowser mussten installiert werden, damit sie zur selben Domain gehörten. Dies wird als Richtlinie für denselben Ursprung bezeichnet, und Selenium RC wurde eingeführt, um diese Einschränkung zu beheben. Der Server fungiert als vom Client konfigurierter HTTP-Proxy und „täuscht“ den Browser vor, dass Selenium Core und die zu testende Webanwendung denselben Ursprung haben.
Daher ist Selenium RC ein in Java geschriebener Server, der das Schreiben von Anwendungstests in verschiedenen Programmiersprachen wie Java, C #, Perl, PHP, Python usw. vorsieht. Der RC-Server akzeptiert Befehle aus dem Anwenderprogramm und übergibt sie als Selenium-Core-JavaScript-Befehle an den Browser.
Selenium WebDriver
Der nächste Abschnitt im Selenium Automation Testing Tutorial behandelt alles über Selenium WebDriver. Selenium WebDriver wurde 2006 von Simon Stewart entwickelt und war das erste plattformübergreifende Testframework, das die Browser auf Betriebssystemebene konfigurieren und steuern konnte. Es diente als Programmierschnittstelle zum Erstellen und Ausführen von Testfällen.
Abb: Selenium WebDriver
Im Gegensatz zu Selenium RC benötigt WebDriver keine Core-Engine wie RC und interagiert nativ mit den Browseranwendungen. WebDriver unterstützt auch verschiedene Programmiersprachen wie Python, Ruby, PHP und Perl. Es kann auch mit Frameworks wie TestNG und JUnit für Selenium Automation Testing Management integriert werden.
Die Architektur von Selenium WebDriver ist einfach und leicht zu verstehen:
Abb: Selenium WebDriver architecture
- Selenium Test script – Selenium Test Script ist der Testcode, der in einer der genannten Programmiersprachen geschrieben wurde und vom Treiber interpretiert wird.
- JSON-Drahtprotokoll – Das JSON-Drahtprotokoll bietet einen Transportmechanismus zum Übertragen von Daten zwischen einem Server und einem Client. Das JSON Wire Protocol dient als Industriestandard für verschiedene Webdienste.
- Browsertreiber – Selenium verwendet für jeden Browser spezifische Treiber, um eine sichere Verbindung mit dem Browser herzustellen.
- Browser – Selenium WebDriver unterstützt verschiedene Webbrowser zum Testen und Ausführen von Anwendungen.
Selenium WebDriver-Lernprogramm –
- Java 8 oder höher herunterladen und installieren – Installieren Sie die neueste Version des Java Development Kits. Klicken Sie hier, um es zu installieren.
- Laden Sie Eclipse oder eine beliebige Java-IDE Ihrer Wahl herunter und konfigurieren Sie sie.
Scrollen Sie auf der Seite nach unten und klicken Sie im Abschnitt „Weitere Downloads“ auf die neueste Version.
Die heruntergeladene Datei ist eine ZIP-Datei. Entpacken Sie die Datei in einen Ordner Ihrer Wahl. Einmal entpackt, öffnen Sie die .exe Eclipse-Datei.
Der nächste Schritt besteht darin, einen Arbeitsbereich zu konfigurieren. Wählen Sie ein Verzeichnis aus, in dem Sie alle Ihre Projekte speichern möchten, und klicken Sie auf das Startsymbol.
Nach dem Start sieht die IDE Workbench ungefähr so aus.
3. Selenium WebDriver Java Client herunterladen –
- Navigieren Sie zur offiziellen Selenium-Seite.
- Scrollen Sie durch die Webseite nach unten und suchen Sie nach Selenium Client- und WebDriver-Sprachbindungen.
- Klicken Sie auf den Link „Download“ des Java-Client-Treibers, wie im Bild gezeigt.
Entpacken Sie die Datei nach dem Herunterladen in ein Verzeichnis. Es besteht aus den JAR-Dateien, die zum Konfigurieren von Selenium WebDriver in der IDE erforderlich sind.
4. Laden Sie den Browsertreiber herunter – Die Automatisierungsskripte müssen mit jedem Browser kompatibel sein. Jeder von Selenium unterstützte Browser enthält seine Treiberdateien. Diese sind wichtig, um die Skripte auszuführen. Laden Sie die neueste Treiberdatei von diesem Link herunter.
5. Konfigurieren von Selenium WebDriver – Der letzte Schritt besteht darin, den Selenium WebDriver mit der Eclipse-IDE zu konfigurieren. In einfachen Worten, wir erstellen ein neues Java-Projekt, um unser Testskript zu erstellen.
Geben Sie einen Projektnamen an und wählen Sie die JRE aus, die Sie verwenden möchten. Es ist ratsam, die Standard-JRE zu verwenden. Wählen Sie es aus und klicken Sie auf Fertig stellen.
Der nächste und wichtigste Schritt ist das Hinzufügen der heruntergeladenen ausführbaren Java-Dateien . Klicken Sie dazu mit der rechten Maustaste auf das Projekt>>Erstellungspfad>>Erstellungspfad konfigurieren.
Wählen Sie Bibliotheken aus und fügen Sie dann externe JARs hinzu.
Öffnen Sie die Ordner, in denen Sie Ihre JAR-Dateien gespeichert haben, und wählen Sie die beiden ausführbaren JAR-Dateien aus. Klicken Sie auf Öffnen, um sie hinzuzufügen.
Klicken Sie auf den libs-Ordner>> Wählen Sie die Dateien>> Öffnen
Wenn Sie mit dem Hinzufügen der Bibliotheksdateien fertig sind, klicken Sie auf Übernehmen und Schließen.
Damit haben Sie den Webdriver erfolgreich mit der Eclipse IDE konfiguriert. Sie können nun Ihr erstes Testskript erstellen.
Klicken Sie dazu mit der rechten Maustaste auf Src folder>>New>>Class
Lassen Sie uns nun ein einfaches Testskript erstellen, das den Firefox-Browser startet und die Facebook-Homepage öffnet. Das Skript wird unten bereitgestellt.
Hinweis: Das zweite Argument für die setProperty-Methode ist der Speicherort Ihres Browsertreibers. In unserem Fall haben wir den Gecko-Treiber installiert. Daher fügen wir den Pfad zusammen mit dem Namen der Datei ein.
Klicken Sie auf Ausführen>>Ausführen als>>Java-Anwendung
Selenium Grid
Im nächsten Abschnitt dieses Selenium Automation Testing Tutorials erfahren Sie alles über Selenium Grid, das von Patrick Lightbody entwickelt wurde, um die Ausführungszeit von Selenium automatisierungstests. Selenium Grid ermöglicht die parallele Ausführung von Tests auf verschiedenen Browsern und Betriebssystemen, wodurch die parallele Ausführung erleichtert wird. Grid ist außergewöhnlich flexibel und wird mit anderen Suite-Komponenten für die gleichzeitige Leistung integriert.
Abb: Selenium Grid
Das Grid besteht aus einem Hub, der mit mehreren Knoten verbunden ist. Es empfängt den auszuführenden Test zusammen mit Informationen über das Betriebssystem und den Browser, auf dem es ausgeführt werden soll. Das Raster wählt dann einen Knoten aus, der den Anforderungen (Browser und Plattform) entspricht, und übergibt den Test an diesen Knoten. Der Knoten führt nun den Browser aus und führt die darin enthaltenen Selenium-Befehle aus.
Fazit
Hoffentlich hat Ihnen dieses Tutorial zum Testen von Selenium Automation geholfen, Einblicke in Selenium und seine Funktionsweise zu erhalten. In diesem Tutorial erfahren Sie, wie Selenium mit Python verwendet werden kann.