Was ist Selen?
Selenium ist ein kostenloses (Open-Source-) automatisiertes Testframework, mit dem Webanwendungen über verschiedene Browser und Plattformen hinweg validiert werden. Sie können mehrere Programmiersprachen wie Java, C #, Python usw. verwenden, um Selenium-Testskripte zu erstellen. Tests, die mit dem Selenium-Testwerkzeug durchgeführt werden, werden normalerweise als Selenium-Test bezeichnet.
Selenium Software ist nicht nur ein einzelnes Tool, sondern eine Suite von Software, die jeweils unterschiedliche Selenium QA-Testanforderungen eines Unternehmens erfüllt. Hier ist die Liste der Werkzeuge
- Integrierte Entwicklungsumgebung für Selen (IDE)
- Selen Fernbedienung (RC)
- WebDriver
- Selengitter

Derzeit werden Selenium RC und WebDriver zu einem einzigen Framework zusammengeführt, um Selenium 2 zu bilden . Selen 1 bezieht sich übrigens auf Selen RC.
Klicken Sie hier, wenn das Video nicht zugänglich ist
In diesem Tutorial lernen Sie:
- Was ist Selen?
- Wer hat Selen entwickelt?
- Das gleiche Problem mit der Ursprungsrichtlinie
- Geburt der Selen-Fernbedienung (Selenium RC)
- Geburt des Selengitters
- Geburt von Selen IDE
- Geburt von WebDriver
- Geburt von Selen 2
- Warum also der Name Selen?
- Kurze Einführung Selen IDE
- Kurze Einführung Selen Fernbedienung (Selenium RC)
- Kurze Einführung WebDriver
- Selengitter
- Hinweis zur Browser- und Umgebungsunterstützung
- So wählen Sie das richtige Selenwerkzeug für Ihre Anforderungen aus
- Ein Vergleich zwischen Selen und QTP (jetzt UFT)
- Vorteile von QTP gegenüber Selen
Wer hat Selen entwickelt?
Da Selenium eine Sammlung verschiedener Tools ist, hatte es auch verschiedene Entwickler. Nachfolgend sind die Schlüsselpersonen aufgeführt, die bemerkenswerte Beiträge zum Selen-Projekt geleistet haben
Selen wurde in erster Linie von Jason Huggins im Jahr 2004 erstellt . Als Ingenieur bei ThoughtWorks arbeitete er an einer Webanwendung, die häufige Tests erforderte. Nachdem er festgestellt hatte, dass das wiederholte manuelle Testen ihrer Anwendung immer ineffizienter wurde, erstellte er ein JavaScript-Programm, das die Aktionen des Browsers automatisch steuert. Er nannte dieses Programm " JavaScriptTestRunner ". Er erkannte das Potenzial dieser Idee, andere Webanwendungen zu automatisieren, und machte JavaScriptRunner zu Open Source, das später in Selenium Core umbenannt wurde . |
Das gleiche Problem mit der Ursprungsrichtlinie
Die gleiche Origin-Richtlinie verhindert, dass JavaScript-Code auf Elemente aus einer Domäne zugreift, die sich von dem Ort unterscheidet, an dem sie gestartet wurde . Beispiel: Der HTML-Code in www.google.com verwendet ein JavaScript-Programm "randomScript.js". Mit derselben Ursprungsrichtlinie kann randomScript.js nur auf Seiten in google.com zugreifen, z. B. google.com/mail, google.com/login oder google.com/signup. Es kann jedoch nicht auf Seiten von verschiedenen Websites wie yahoo.com/search oder guru99.com zugreifen, da diese zu verschiedenen Domänen gehören.
Dies ist der Grund, warum Tester vor Selenium RC lokale Kopien sowohl von Selenium Core (einem JavaScript-Programm) als auch des Webservers mit der zu testenden Webanwendung installieren mussten, damit sie zur selben Domäne gehören
Geburt der Selen-Fernbedienung (Selenium RC)
Unglücklicherweise; Tester, die Selenium Core verwenden, mussten die gesamte zu testende Anwendung und den Webserver auf ihren eigenen lokalen Computern installieren, da durch dieselbe Ursprungsrichtlinie Einschränkungen auferlegt wurden . Ein anderer ThoughtWork-Ingenieur, Paul Hammant , entschied sich daher, einen Server zu erstellen, der als HTTP-Proxy fungiert, um den Browser zu "täuschen", dass Selenium Core und die getestete Webanwendung aus derselben Domäne stammen. Dieses System wurde als Selenium Remote Control oder Selenium 1 bekannt .
Geburt des Selengitters
Das Selenium Grid wurde von Patrick Lightbody entwickelt , um die Notwendigkeit zu berücksichtigen, die Testausführungszeiten so gering wie möglich zu halten. Er nannte das System zunächst " Hosted QA ". Es war in der Lage, Browser-Screenshots in wichtigen Phasen zu erfassen und gleichzeitig Selenium-Befehle an verschiedene Computer zu senden.
Geburt von Selen IDE
Shinya Kasatani aus Japan hat Selenium IDE entwickelt , eine Firefox-Erweiterung, die den Browser über eine Aufnahme- und Wiedergabefunktion automatisieren kann. Er kam auf die Idee, die Geschwindigkeit bei der Erstellung von Testfällen weiter zu erhöhen. Er spendete Selenium IDE auf das Selen - Projekt in 2006 .
Geburt von WebDriver
Simon Stewart WebDriver wurde um 2006 erstellt, als Browser und Webanwendungen mit JavaScript-Programmen wie Selenium Core leistungsfähiger und restriktiver wurden. Es war das erste plattformübergreifende Testframework, das den Browser von der Betriebssystemebene aus steuern konnte.
Geburt von Selen 2
Im Jahr 2008 beschloss das gesamte Selenium-Team, WebDriver und Selenium RC zu einem leistungsstärkeren Tool namens Selenium 2 zusammenzuführen , wobei WebDriver der Kern ist . Derzeit wird Selenium RC noch entwickelt, jedoch nur im Wartungsmodus. Die meisten Bemühungen des Selen-Projekts konzentrieren sich jetzt auf Selen 2.
Warum also der Name Selen?
Der Name Selenium stammt von einem Witz, den Jason einmal seinem Team erzählt hat. Während der Entwicklung von Selenium wurde ein weiteres automatisiertes Test-Framework von der Firma Mercury Interactive (ja, der Firma, die QTP ursprünglich vor der Übernahme durch HP hergestellt hat) populär gemacht . Da Selen ein bekanntes Gegenmittel gegen Quecksilbervergiftungen ist, schlug Jason diesen Namen vor und seine Teamkollegen nahmen ihn an. So konnten wir diesen Rahmen bis in die Gegenwart aufrufen.
Kurze Einführung Selen IDE
Die integrierte Entwicklungsumgebung für Selenium (IDE) ist das einfachste Framework in der Selenium-Suite und am einfachsten zu erlernen . Es ist ein Firefox-Plugin , das Sie so einfach wie möglich mit anderen Plugins installieren können. Aufgrund seiner Einfachheit sollte Selenium IDE jedoch nur als Prototyping-Tool verwendet werden . Wenn Sie erweiterte Testfälle erstellen möchten, müssen Sie entweder Selenium RC oder WebDriver verwenden.
Kurze Einführung Selen Fernbedienung (Selenium RC)
Selenium RC war lange Zeit das Flaggschiff des gesamten Selenium-Projekts. Dies ist das erste automatisierte Webtest-Tool, mit dem Benutzer eine von ihnen bevorzugte Programmiersprache verwenden können . Ab Version 2.25.0 kann RC die folgenden Programmiersprachen unterstützen:
- Java
- C #
- PHP
- Python
- Perl
- Rubin
Kurze Einführung WebDriver
Der WebDriver erweist sich in vielerlei Hinsicht als besser als Selenium IDE und Selenium RC . Es implementiert einen moderneren und stabileren Ansatz zur Automatisierung der Aktionen des Browsers. WebDriver verwendet im Gegensatz zu Selenium RC kein JavaScript für Selenium Automation Testing. Es steuert den Browser durch direkte Kommunikation mit ihm.
Die unterstützten Sprachen sind die gleichen wie in Selenium RC.
- Java
- C #
- PHP
- Python
- Perl
- Rubin
Selengitter
Selenium Grid ist ein Tool, das zusammen mit Selenium RC verwendet wird, um parallele Tests auf verschiedenen Computern und verschiedenen Browsern gleichzeitig durchzuführen . Parallele Ausführung bedeutet, dass mehrere Tests gleichzeitig ausgeführt werden.
Eigenschaften:
- Ermöglicht die gleichzeitige Ausführung von Tests in mehreren Browsern und Umgebungen.
- Spart enorm Zeit .
- Verwendet das Hub-and-Nodes- Konzept. Der Hub fungiert als zentrale Quelle für Selenium-Befehle für jeden mit ihm verbundenen Knoten.
Hinweis zur Browser- und Umgebungsunterstützung
Aufgrund ihrer architektonischen Unterschiede unterstützen Selenium IDE, Selenium RC und WebDriver verschiedene Sätze von Browsern und Betriebsumgebungen.
Selen IDE | WebDriver | |
---|---|---|
Browser- Unterstützung | Mozilla Firefox | Internet Explorer-Versionen 6 bis 11, 32- und 64-Bit- Microsoft Edge-Version 12.10240 und höher (teilweise Unterstützung einiger in der Entwicklung befindlicher Funktionen) Firefox 3.0 und höher Google Chrome 12.0. und höher Opera 11.5 und höher Android - 2.3 und höher für Telefone und Tablets (Geräte und Emulatoren) iOS 3+ für Telefone (Geräte und Emulatoren) und 3.2+ für Tablets (Geräte und Emulatoren) HtmlUnit 2.9 und höher |
Betriebssystem | Windows, Mac OS X, Linux | Alle Betriebssysteme, auf denen die oben genannten Browser ausgeführt werden können. |
Hinweis: Selenium WebDriver wird als Nachfolger von Selenium RC bezeichnet, das von SeleniumHQ veraltet und offiziell angekündigt wurde.
So wählen Sie das richtige Selenwerkzeug für Ihre Anforderungen aus
Werkzeug | Warum wählen? |
---|---|
Selen IDE |
|
Selen RC |
|
WebDriver |
|
Selengitter |
|
Ein Vergleich zwischen Selen und QTP (jetzt UFT)
Quick Test Professional (QTP) ist ein proprietäres automatisiertes Testtool , das zuvor der Firma Mercury Interactive gehörte, bevor es 2006 von Hewlett-Packard übernommen wurde . Die Selenium Tool Suite bietet viele Vorteile gegenüber QTP, wie unten beschrieben -
Vorteile und Nutzen von Selen gegenüber QTP
Selen | QTP |
---|---|
Open Source , kostenlos und kostenlos. | Kommerziell . |
Sehr erweiterbar | Begrenzte Add-Ons |
Kann Tests in verschiedenen Browsern ausführen | Kann nur Tests in Firefox , Internet Explorer und Chrome ausführen |
Unterstützt verschiedene Betriebssysteme | Kann nur in Windows verwendet werden |
Unterstützt mobile Geräte | QTP unterstützt die Testautomatisierung für mobile Apps (iOS und Android) mithilfe der HP-Lösung HP Mobile Center |
Kann Tests ausführen, während der Browser minimiert ist | Die zu testende Anwendung muss auf dem Desktop sichtbar sein |
Kann Tests parallel ausführen . | Kann nur parallel ausgeführt werden, verwendet jedoch das Quality Center, das wiederum ein kostenpflichtiges Produkt ist. |
Vorteile von QTP gegenüber Selen
QTP | Selen |
---|---|
Kann sowohl Web- als auch Desktopanwendungen testen | Kann nur Webanwendungen testen |
Kommt mit einem eingebauten Objekt-Repository | Hat kein eingebautes Objekt-Repository |
Automatisiert schneller als Selenium, da es sich um eine voll funktionsfähige IDE handelt. | Automatisiert langsamer, da keine native IDE vorhanden ist und nur die IDE eines Drittanbieters für die Entwicklung verwendet werden kann |
Datengesteuertes Testen ist einfacher durchzuführen, da globale und lokale Datentabellen integriert sind . | Datengesteuertes Testen ist umständlicher, da Sie sich auf die Funktionen der Programmiersprache verlassen müssen, um Werte für Ihre Testdaten festzulegen |
Zugriff auf Steuerelemente im Browser (z. B. Favoritenleiste, Adressleiste, Schaltflächen Zurück und Weiter usw.) | Auf Elemente außerhalb der zu testenden Webanwendung kann nicht zugegriffen werden |
Bietet professionelle Kundenbetreuung | Es wird keine offizielle Benutzerunterstützung angeboten. |
Hat native Fähigkeit, Testdaten in externe Formate zu exportieren | Hat keine native Fähigkeit, Laufzeitdaten in externe Formate zu exportieren |
Die Parametrierungsunterstützung wird erstellt | Die Parametrierung kann über die Programmierung erfolgen, ist jedoch schwierig zu implementieren. |
Testberichte werden automatisch generiert | Keine native Unterstützung zum Generieren von Test- / Fehlerberichten. |
Obwohl QTP eindeutig über erweiterte Funktionen verfügt, überwiegt Selenium QTP in drei Hauptbereichen:
- Kosten (weil Selen völlig kostenlos ist)
- Flexibilität (aufgrund einer Reihe von Programmiersprachen, Browsern und Plattformen, die unterstützt werden können)
- Parallele Tests (etwas, zu dem QTP in der Lage ist, jedoch nur mit Quality Center)
Zusammenfassung
- Die gesamte Selenium Software Testing Suite besteht aus vier Komponenten:
- Selenium IDE, ein Firefox-Add-On, mit dem Sie nur relativ einfache Testfälle und Testsuiten erstellen können.
- Selenium Remote Control, auch bekannt als Selenium 1, ist das erste Selenium-Tool, mit dem Benutzer Programmiersprachen zum Erstellen komplexer Tests verwenden konnten.
- WebDriver, der neuere Durchbruch, mit dem Ihre Testskripte direkt mit dem Browser kommunizieren und ihn somit von der Betriebssystemebene aus steuern können.
- Selenium Grid ist auch ein Tool, das mit Selenium RC verwendet wird, um parallele Tests für verschiedene Browser und Betriebssysteme durchzuführen.
- Selenium RC und WebDriver wurden zu Selenium 2 zusammengeführt.
- Selen ist hinsichtlich Kosten und Flexibilität vorteilhafter als QTP. Außerdem können Sie Tests parallel ausführen, anders als in QTP, wo Sie Tests nur nacheinander ausführen dürfen.