- Selen Einführung
- Kurze Einführung in Selenium-Versionen
- Umwelt und Technologie Stack
- Schlussfolgerung
Eine vollständige Liste der besten Selenium-Tutorials zum Erlernen und Meistern von Selenium von Grund auf:
Auf vielfachen Wunsch von STH-Lesern sind wir heute endlich Start unserer GRATIS Selenium Tutorial Serie In dieser Selenium-Schulungsreihe werden wir alle Selenium-Testing-Konzepte und seine Pakete im Detail mit leicht verständlichen Praxisbeispielen behandeln.
Diese Selenium-Tutorials sind sowohl für Anfänger als auch für fortgeschrittene Selenium-Anwender hilfreich. Ausgehend von den grundlegenden Selenium-Konzepten werden wir nach und nach zu den fortgeschrittenen Themen wie Framework-Erstellung, Selenium Grid und Cucumber BDD übergehen.
Eine vollständige Liste der Selenium-Tutorials in dieser Serie:
Selen-Grundlagen:
- Tutorial #1 Einführung: Selenium Testing (Muss gelesen werden)
- Tutorial #2 Selenium IDE Features, Selenium Download und Installation
- Anleitung #3 Mein erstes Selenium-IDE-Skript (Muss gelesen werden)
- Tutorial #4 Erstellung eines Skripts mit Firebug und dessen Installation
- Tutorial #5 Locator Types: ID, ClassName, Name, Link Text, Xpath
- Tutorial #6 Locator-Typen: CSS-Selektor
- Tutorial #7 Suche nach Elementen in Google Chrome und IE
Selenium WebDriver:
- Tutorial #8 Selenium WebDriver: Einführung (Muss gelesen werden)
- Tutorial #9 Selenium WebDriver Installation mit eclipse
- Tutorial #10 Selenium WebDriver: Mein erstes Selenium-WebDriver-Skript (Muss gelesen werden)
- Tutorial #11 : Einführung in JUnit
- Tutorial #12: Einführung in TestNG (Muss gelesen werden)
- Tutorial #13 Handhabung von Dropdowns
- Tutorial #14 Schleifen und bedingte Befehle
- Tutorial #15 : Explizite und implizite Wartezeiten
- Tutorial #16 Handhabung von Warnungen/Popups
- Tutorial #17 : Häufig verwendete Befehle
- Tutorial #18 Handhabung von Web-Tabellen, Frames und dynamischen Elementen
- Tutorial #19 Ausnahmebehandlung
Selenium-Framework:
- Tutorial #20 Die beliebtesten Testautomatisierungs-Frameworks (Muss gelesen werden)
- Anleitung #21 Selenium Framework Erstellung & Zugriff auf Testdaten aus Excel (Muss gelesen werden)
- Tutorial #22 Generics und Testsuite erstellen
- Tutorial #23 : Apache ANT verwenden
- Tutorial #24 Einrichten eines Selenium-Maven-Projekts
- Anleitung #25 Hudson: Verwendung des Werkzeugs zur kontinuierlichen Integration
Fortgeschrittenes Selen:
- Anleitung #26 Protokollierung in Selenium
- Tutorial #27 Selenium Scripting Tipps und Tricks
- Tutorial #28 Datenbank-Tests mit Selenium WebDriver
- Tutorial #29 : Selenium Grid Einführung (Muss gelesen werden)
- Anleitung #30 Automatisierungstests mit Cucumber und Selenium Teil -1
- Tutorial #31 Integration von Selenium WebDriver mit Cucumber - Teil 2
- Tutorial #32: Assertions in Selenium mit Junit und TestNG-Frameworks
- Tutorial #33: Selenium Assertion Beispiele - Praktische Anwendungen in Projekten
- Tutorial #34: Seitenobjektmodell in Selenium ohne Verwendung von Page Factory
- Tutorial #35: Seitenobjektmodell in Selenium mit Page Factory
- Tutorial #36: Schlüsselwortgesteuertes Framework in Selenium mit Beispielen
- Tutorial #37: Was ist das Hybrid Framework in Selenium?
- Tutorial #38: Wie man Windows Pop Up in Selenium mit AutoIT behandelt
- Tutorial #39: Debugging-Techniken in Selenium
- Tutorial #40: Handhabung von IFrames mit der Selenium WebDriver SwitchTo() Methode
- Tutorial #41: XPath-Funktionen für dynamische X-Pfade in Selenium
- Tutorial #42: X-Pfad-Achsen für dynamische X-Pfade in Selenium
- Tutorial #43: WebDriver-Listener in Selenium
- Tutorial #44: Wie man das Kontrollkästchen in Selenium mit Beispielen auswählt
- Tutorial #45: Wie man die Bildlaufleiste in Selenium Webdriver handhabt
- Tutorial #46: Wie man in Selenium einen Screenshot macht
- Tutorial #47: Wie man Radio-Buttons in Selenium WebDriver auswählen?
- Tutorial #48: Selenium-Aktionen: Double & behandeln; Rechtsklick in Selenium
- Tutorial #49: Wie man mit Selenium Webdriver eine Datei hochlädt - 3 Methoden
Selenium-Tipps und Interview-Vorbereitung:
- Anleitung #50 Selenium-Projekt: Schätzung des Testaufwands
- Anleitung #51 : Selenium Interview Fragen und Antworten
Wie lernt man Selenium?
Dies ist der beste Zeitpunkt, um Selenium-Tests mit Hilfe dieser kostenlosen Selenium-Trainingsreihe selbst zu erlernen. Lesen Sie die Tutorials, üben Sie die Beispiele zu Hause und stellen Sie Ihre Fragen im Kommentarbereich der jeweiligen Tutorials. Wir werden auf all diese Fragen eingehen.
Dies ist unser aufrichtiges Bemühen, Sie beim Erlernen und Beherrschen eines der beliebtesten Softwaretest-Tools zu unterstützen!
Selen Einführung
Wir sind sehr erfreut, eine weitere Serie von Software-Testing-Tutorials zu starten. Der Glaube hinter der Einführung dieses Tutorials ist es, Sie zu einem Experten in einem der weit verbreiteten Software-Test-Automatisierungslösung, Selenium zu machen.
In dieser Serie werden wir uns die verschiedenen Facetten von Selenium ansehen. Selenium ist nicht nur ein Tool, sondern eine Gruppe unabhängiger Tools. Wir werden uns einige der Selenium-Tools im Detail ansehen, mit praktischen Beispielen, wo immer möglich.
Bevor Sie sich in die Lektüre dieser spannenden und nützlichen Reihe stürzen, wollen wir einen Blick darauf werfen, was sie für Sie bereithält.
Warum Selen?
Die aktuellen Trends in der Industrie haben gezeigt, dass es eine Massenbewegung in Richtung Automatisierungstests gibt. Daher hat eine Anhäufung von sich wiederholenden manuellen Testszenarien eine Nachfrage nach der Automatisierung dieser manuellen Szenarien ausgelöst.
Es gibt mehrere Vorteile bei der Implementierung von Automatisierungstests; sehen wir uns diese einmal an:
- Unterstützt die Ausführung von wiederholten Testfällen
- Hilft beim Testen einer großen Testmatrix
- Ermöglicht parallele Ausführung
- Ermutigt zu unbeaufsichtigter Ausführung
- Verbessert die Genauigkeit und reduziert dadurch die von Menschen verursachten Fehler
- Spart Zeit und Geld
Aus all diesen Vorteilen ergeben sich die folgenden Konsequenzen:
- Hoher ROI
- Schnellerer GoTo-Markt
Es gibt mehrere Vorteile von Automatisierungstests, die in der Softwaretestbranche gut bekannt sind und über die viel gesprochen wird.
Eine der häufigsten Fragen, die in diesem Zusammenhang gestellt werden, sind.
- Welches ist das beste Werkzeug, um meine Tests zu automatisieren?
- Ist dies mit Kosten verbunden?
- Ist es einfach, sich anzupassen?
Eine der besten Antworten auf die oben genannten Fragen zur Automatisierung webbasierter Anwendungen ist Selenium, denn:
- Es ist eine Open-Source
- Es hat eine große Nutzerbasis und hilfreiche Gemeinschaften
- Es ist mit mehreren Browsern und Plattformen kompatibel
- Es gibt aktive Repository-Entwicklungen
- Es unterstützt mehrere Sprachimplementierungen
Erster Blick auf Selenium
Selenium ist eine der populärsten Suiten für automatisiertes Testen. Selenium ist so konzipiert, dass es das automatisierte Testen von funktionalen Aspekten webbasierter Anwendungen und einer breiten Palette von Browsern und Plattformen unterstützt und fördert. Aufgrund seiner Existenz in der Open-Source-Gemeinschaft ist es zu einem der am meisten akzeptierten Tools unter den Testexperten geworden.
Selenium unterstützt eine breite Palette von Browsern, Technologien und Plattformen.
Selen-Komponenten
Selenium ist nicht nur ein einzelnes Tool oder ein Dienstprogramm, sondern vielmehr ein Paket aus mehreren Testtools, weshalb es auch als Suite bezeichnet wird. Jedes dieser Tools ist für unterschiedliche Anforderungen an Tests und Testumgebungen konzipiert.
Das Suite-Paket besteht aus den folgenden Tools:
- Selenium Integrierte Entwicklungsumgebung (IDE)
- Selenium Fernsteuerung (RC)
- Selenium WebDriver
- Selenium-Raster
Selenium RC und WebDriver zusammen sind allgemein bekannt als Selen 2 . Selen RC allein wird auch bezeichnet als Selen 1 .
Kurze Einführung in Selenium-Versionen
Selen-Kern
Selenium ist das Ergebnis der kontinuierlichen Bemühungen eines Ingenieurs namens Jason Huggins von ThoughtWorks Da er für das Testen einer internen Zeit- und Ausgabenanwendung verantwortlich war, erkannte er die Notwendigkeit eines Automatisierungstools, um sich wiederholende manuelle Aufgaben loszuwerden, ohne die Qualität und Genauigkeit zu beeinträchtigen.
Infolgedessen entwickelte er ein JavaScript-Programm, das den Namen " JavaScriptTestRunner "Anfang 2004 wurde eine Software entwickelt, die die Aktionen des Browsers automatisch steuern konnte, was der Kommunikation eines Benutzers mit dem Browser sehr ähnlich zu sein schien.
Jason begann daraufhin, das Tool einem breiten Publikum vorzuführen, und schließlich wurde diskutiert, das Tool in eine Open-Source-Kategorie einzuordnen und sein Potenzial als wiederverwendbares Test-Framework für andere webbasierte Anwendungen auszubauen.
Das Werkzeug wurde später unter dem Namen " Selen-Kern ".
Selenium IDE (Selenium Integrated Deve lopment Environment)
Selenium-IDE wurde von Shinya Kasatani entwickelt. Beim Studium von Selenium Core erkannte er, dass dieser JavaScript-Code erweitert werden kann, um eine integrierte Entwicklungsumgebung (IDE) zu schaffen, die in Mozilla Firefox eingebunden werden kann. Diese IDE war in der Lage, die Benutzeraktionen auf einer Firefox-Instanz, in die sie eingebunden war, aufzuzeichnen und wiederzugeben. Später wurde Selenium IDE ein Teil des Selenium-Pakets imSpäter stellte sich heraus, dass dieses Instrument für die Gemeinschaft von großem Wert und Potenzial ist.
Selenium IDE ist das einfachste und leichteste aller Werkzeuge des Selenium-Pakets. Seine Aufnahme- und Wiedergabefunktionen machen es außerordentlich einfach, mit minimalen Kenntnissen einer Programmiersprache erlernt zu werden. Bei allen Vorteilen, die Selenium IDE mit sich bringt, gibt es auch einige Nachteile, so dass es für fortgeschrittene Testskripte ungeeignet ist.
Vorteile und Nachteile von Selenium IDE:
Die Nachteile der IDE sind in Wirklichkeit keine Nachteile von Selenium. Vielmehr handelt es sich um Beschränkungen dessen, was die IDE leisten kann. Diese Beschränkungen können durch die Verwendung von Selenium RC oder WebDriver .
Selenium RC (Selenium Fernsteuerung)
Selen RC ist ein in Java geschriebenes Tool, mit dem ein Benutzer Testskripte für eine webbasierte Anwendung in einer beliebigen Programmiersprache seiner Wahl erstellen kann. Selenium RC wurde entwickelt, um die verschiedenen Nachteile zu überwinden, die durch Selenium IDE oder Core .
Schlupflöcher und Beschränkungen, die bei der Verwendung von Selenium Core auferlegt wurden, machten es für den Benutzer schwierig, die Vorteile des Tools in vollem Umfang zu nutzen, was den Testprozess zu einer schwerfälligen und weitreichenden Aufgabe machte.
Eine der entscheidenden Einschränkungen war die Gleiche Herkunftspolitik.
Problem mit der Politik der gleichen Herkunft:
Das Problem mit der Same Origin Policy ist, dass sie den Zugriff auf das DOM eines Dokuments von einem anderen Ursprung als dem, von dem aus wir auf das Dokument zugreifen wollen, verbietet.
Der Ursprung ist eine sequentielle Kombination aus Schema, Host und Port der URL, z. B. für die URL //www.seleniumhq.org/projects/ ist der Ursprung eine Kombination aus HTTP, seleniumhq.org und 80.
Daher kann Selenium Core (JavaScript-Programm) nicht auf die Elemente von einem anderen Ursprung aus zugreifen, als dem, von dem aus es gestartet wurde.
Wenn ich zum Beispiel das JavaScript-Programm von "//www.seleniumhq.org/" aus gestartet habe, kann ich auf die Seiten innerhalb derselben Domäne wie "//www.seleniumhq.org/projects/" oder "//www.seleniumhq.org/download/" zugreifen, während die anderen Domänen wie google.com oder yahoo.com nicht mehr zugänglich sind.
Um also eine Anwendung mit Selenium Core zu testen, muss man die gesamte Anwendung auf dem Selenium Core sowie einem Webserver installieren, um das Problem der Same-Origin-Policy zu umgehen.
Um also die Same-Origin-Policy zu regeln, ohne dass eine separate Kopie der zu testenden Anwendung auf dem Selenium Core erstellt werden muss, Selenium-Fernbedienung Während Jason Huggins Selenium vorstellte, schlug ein anderer Kollege bei ThoughtWorks namens Paul Hammant eine Umgehung der Same-Origin-Policy und ein Tool vor, das mit einer Programmiersprache unserer Wahl verdrahtet werden kann. So entstand Selenium RC.
Im Gegensatz zu Selenium IDE unterstützt Selenium RC eine breite Palette von Browsern und Plattformen.
Workflow Beschreibung
- Der Benutzer erstellt ein Testskript in der gewünschten Programmiersprache.
- Für jede Programmiersprache gibt es eine spezielle Client-Bibliothek.
- Die Client-Bibliothek überträgt die Testbefehle an den Selenium-Server.
- Der Selenium-Server entschlüsselt und konvertiert die Testbefehle in JavaScript-Befehle und sendet sie an den Browser.
- Der Browser führt die Befehle mit Selenium Core aus und sendet die Ergebnisse zurück an den Selenium-Server
- Der Selenium-Server liefert die Testergebnisse an die Client-Bibliothek.
Vor der Erstellung von Selenium-RC-Skripten müssen einige Voraussetzungen erfüllt sein:
- Eine Programmiersprache - Java, C#, Python usw.
- Eine integrierte Entwicklungsumgebung - Eclipse, Netbeans usw.
- Ein Testing Framework (optional) - JUnit, TestNG usw.
- Und Selenium RC Setup natürlich
Vorteile und Nachteile von Selenium RC:
In der folgenden Abbildung finden Sie weitere Informationen zu den Vor- und Nachteilen von Selenium RC.
Selenium-Raster
Mit Selenium RC war das Leben eines Testers immer positiv und günstig, bis die aufkommenden Trends die Nachfrage weckten, dieselben oder verschiedene Testskripte auf mehreren Plattformen und Browsern gleichzeitig auszuführen, um eine verteilte Testausführung zu erreichen, unter verschiedenen Umgebungen zu testen und die Ausführungszeit erheblich zu reduzieren. Selenium-Raster wurde ins Spiel gebracht.
Selenium Grid wurde von Pat Lightbody eingeführt, um die Notwendigkeit der gleichzeitigen Ausführung von Testsuiten auf mehreren Plattformen zu erfüllen.
Selenium WebDriver
Selenium WebDriver wurde von einem anderen Ingenieur bei ThoughtWorks namens Simon Stewart im Jahr 2006 entwickelt. WebDriver ist ebenfalls ein webbasiertes Testwerkzeug mit einem kleinen Unterschied zu Selenium RC. Da das Werkzeug auf der Grundlage aufgebaut wurde, dass für jeden Webbrowser ein isolierter Client erstellt wurde, war kein JavaScript Heavy Lifting erforderlich. Dies führte zu einer Kompatibilitätsanalyse zwischen Selen RC und WebDriver Infolgedessen wurde ein leistungsfähigeres automatisches Testwerkzeug entwickelt, das Selen 2 .
WebDriver ist ein sauberes und rein objektorientiertes Framework. Es nutzt die native Kompatibilität des Browsers zur Automatisierung ohne die Verwendung von Peripheriegeräten. Mit der steigenden Nachfrage hat es eine große Popularität und Benutzerbasis gewonnen.
Vorteile und Nachteile von Selenium WebDriver:
In der folgenden Abbildung finden Sie weitere Informationen über die Vor- und Nachteile von WebDriver.
Selen 3
Selen 3 ist eine erweiterte Version von Selen 2 Es ist ein Tool, das sich auf die Automatisierung von mobilen und Web-Anwendungen konzentriert. Wenn wir sagen, dass es das Testen von mobilen Anwendungen unterstützt, wollen wir damit sagen, dass die WebDriver-API erweitert wurde, um den Anforderungen des Testens von mobilen Anwendungen gerecht zu werden. Es wird erwartet, dass das Tool bald auf den Markt kommt.
Umwelt und Technologie Stack
Mit der Einführung und Hinzufügung jedes neuen Tools in der Selenium-Suite werden die Umgebungen und Technologien immer kompatibler. Hier finden Sie eine vollständige Liste der von den Selenium-Tools unterstützten Umgebungen und Technologien.
Unterstützte Browser
Unterstützte Programmiersprachen
Unterstützte Betriebssysteme
Unterstützte Test-Frameworks
Schlussfolgerung
In diesem Tutorial haben wir versucht, Sie mit der Selenium-Suite vertraut zu machen, indem wir ihre verschiedenen Komponenten, ihre Verwendungsmöglichkeiten und ihre Vorteile gegenüber anderen beschrieben haben.
Hier sind die Kernpunkte dieses Artikels.
- Selenium ist eine Suite von mehreren automatisierten Testwerkzeugen, die jeweils unterschiedliche Testanforderungen abdecken.
- Alle diese Tools fallen unter dieselbe Open-Source-Kategorie und unterstützen ausschließlich webbasierte Tests.
- Die Selenium-Suite besteht aus 4 Grundkomponenten; Selenium IDE, Selenium RC, WebDriver und Selenium Grid .
- Es wird erwartet, dass der Benutzer mit Bedacht das richtige Selenium-Tool für seine Bedürfnisse auswählt.
- Selenium IDE wird als Firefox-Plugin vertrieben und ist einfacher zu installieren und zu verwenden. Der Benutzer muss keine Programmierkenntnisse besitzen. Selenium IDE ist ein ideales Werkzeug für einen naiven Benutzer.
- Selenium RC ist ein Server, der die Erstellung von Testskripten in der gewünschten Programmiersprache und die Ausführung von Testskripten in einem breiten Spektrum von Browsern ermöglicht.
- Selenium Grid bietet eine zusätzliche Funktion für Selenium RC, indem es das Testskript auf verschiedene Plattformen und Browser zur gleichen Zeit zur Ausführung verteilt und so die Master-Slave-Architektur implementiert.
- WebDriver ist ein ganz anderes Tool, das gegenüber Selenium RC verschiedene Vorteile hat. Die Fusion von Selenium RC und WebDriver ist auch als Selenium 2 bekannt. WebDriver kommuniziert direkt mit dem Webbrowser und nutzt dessen native Kompatibilität zur Automatisierung.
- Selenium 3 ist die am meisten erwartete Erweiterung der Selenium-Suite, die noch nicht auf dem Markt ist. Selenium 3 fördert das mobile Testen stark.
Im nächsten Tutorial werden wir die Grundlagen der Selenium IDE, ihre Installation und ihre Funktionen besprechen und einen Blick auf die grundlegenden Terminologien und Nomenklaturen der Selenium IDE werfen.
Nächstes Selenium Tutorial : Einführung in die Selenium IDE und ihre Installation mit einer detaillierten Studie über alle Funktionen der Selenium IDE (in Kürze)
Eine Bemerkung für die Leser Unser nächstes Tutorial der Selenium-Trainingsreihe befindet sich im Bearbeitungsmodus. In der Zwischenzeit können Sie sich auf der offiziellen Website ein wenig über die Selenium-Suite und ihre Tools informieren.
Über die Autoren:
Shruti Shrivastava (unsere Hauptautorin für diese Reihe), Amaresh Dhal und Pallavi Sharma helfen uns, diese Reihe unseren Lesern näher zu bringen.
Bleiben Sie dran und teilen Sie uns Ihre Ansichten, Kommentare und Ihr Wissen mit. Teilen Sie uns auch mit, wenn Sie der Meinung sind, dass wir etwas ausgelassen haben, damit wir es in unsere nächsten Tutorials aufnehmen können.