Was ist Selen? Einführung in Selenium Automation Testing
Was ist Selenium?
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 Testing Tool durchgeführt werden, werden normalerweise als Selenium Testing bezeichnet.
Selenium-Software ist nicht nur ein einzelnes Tool, sondern eine Suite von Software, die jeweils auf unterschiedliche Selenium-QA-Testanforderungen einer Organisation zugeschnitten ist. Hier ist die Liste der Tools
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (RC)
- WebDriver
- Selenium Grid
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 erfahren Sie:
- Was ist Selen?
- Wer hat Selenium entwickelt?
- Die gleiche Herkunft Politik Ausgabe
- Geburt von Selenium Fernbedienung (Selen RC)
- Geburt von Selenium Grid
- Geburt von Selenium IDE
- Geburt von WebDriver
- Geburt von Selenium 2
- Also, Warum der Name Selenium?
- Kurze Einführung Selenium IDE
- Kurze Einführung Selenium Remote Control (Selenium RC)
- Kurze Einführung WebDriver
- Selenium Grid
- Hinweis zur Browser- und Umgebungsunterstützung
- So wählen Sie das richtige Selenium-Tool für Ihre Anforderungen aus
- Ein Vergleich zwischen Selenium und QTP(jetzt UFT)
- Vorteile von QTP gegenüber Selen
Wer Selen entwickelt?
Da Selenium eine Sammlung verschiedener Tools ist, hatte es auch verschiedene Entwickler. Im Folgenden sind die Schlüsselpersonen aufgeführt, die bemerkenswerte Beiträge zum Selenium-Projekt geleistet haben
|
In erster Linie, Selenium wurde 2004 von Jason Huggins entwickelt. Als Ingenieur bei ThoughtWorks arbeitete er an einer Webanwendung, die häufig getestet werden musste. Nachdem er erkannt 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 als „JavaScriptTestRunner.“Als er das Potenzial dieser Idee sah, andere Webanwendungen zu automatisieren, machte er JavaScriptRunner zu Open Source, das später in Selenium Core umbenannt wurde. |
Das Problem mit der Richtlinie für denselben Ursprung
Die Richtlinie für denselben Ursprung verbietet JavaScript-Code den Zugriff auf Elemente aus einer Domäne, die sich von der Domäne unterscheidet, in der er gestartet wurde. Beispiel, der HTML-Code in www.google.com verwendet ein JavaScript-Programm „randomScript.js“. Die gleiche Ursprungsrichtlinie erlaubt nur randomScript.js für den Zugriff auf Seiten innerhalb google.com wie google.com/mail, google.com/login, oder google.com/signup . Es kann jedoch nicht auf Seiten von verschiedenen Websites zugreifen, z yahoo.com/search oder Guru99.com, weil sie zu verschiedenen Domänen gehören.
Dies ist der Grund, warum Tester vor Selenium RC lokale Kopien von Selenium Core (einem JavaScript-Programm) und dem Webserver mit der getesteten Webanwendung installieren mussten, damit sie zur selben Domäne gehören
Geburt von Selenium Remote Control (Selenium RC)
Leider; tester, die Selenium Core verwendeten, mussten die gesamte zu testende Anwendung und den Webserver auf ihren eigenen lokalen Computern installieren, da die Richtlinien für denselben Ursprung Einschränkungen auferlegten. Paul Hammant, Ingenieur bei ThoughtWork, beschloss daher, einen Server zu erstellen, der als HTTP-Proxy fungiert, um den Browser so zu „täuschen“, dass er glaubt, dass Selenium Core und die zu testende Webanwendung aus derselben Domäne stammen. Dieses System wurde als Selenium Remote Control oder Selenium 1 bekannt.
Geburt von Selenium Grid
Selenium Grid wurde von Patrick Lightbody entwickelt, um die Notwendigkeit der Minimierung der Testausführungszeiten so weit wie möglich zu adressieren. Er nannte das System zunächst „Hosted QA.“ Es war in der Lage, Browser-Screenshots in wichtigen Phasen zu erfassen und Selenium-Befehle gleichzeitig an verschiedene Computer zu senden.
Geburt von Selenium IDE
Shinya Kasatani aus Japan hat Selenium IDE entwickelt, eine Firefox-Erweiterung, die den Browser durch eine Aufnahme- und Wiedergabefunktion automatisieren kann. Er kam auf diese Idee, um die Geschwindigkeit bei der Erstellung von Testfällen weiter zu erhöhen. 2006 spendete er Selenium IDE an das Selenium Project.
Geburt von WebDriver
Simon Stewart schuf WebDriver um 2006, 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 Selenium 2
Im Jahr 2008 beschloss das gesamte Selenium-Team, WebDriver und Selenium RC zu einem leistungsfähigeren 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 Selenium-Projekts konzentrieren sich jetzt auf Selenium 2.
Also, warum der Name Selenium?
Der Name Selenium stammt von einem Witz, den Jason seinem Team einmal geknackt hat. Während der Entwicklung von Selenium wurde ein weiteres automatisiertes Testframework von der Firma Mercury Interactive entwickelt (ja, die Firma, die ursprünglich QTP gemacht hat, bevor es von HP übernommen wurde). Da Selen ein bekanntes Gegenmittel gegen Quecksilbervergiftung ist, schlug Jason vor, dass er und seine Teamkollegen es nahmen. So haben wir diesen Rahmen bis heute genannt.
Kurze Einführung Selenium IDE
Die integrierte Entwicklungsumgebung (IDE) von Selenium 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 Selenium Remote Control (Selenium RC)
Selenium RC war lange Zeit das Flaggschiff-Testframework des gesamten Selenium-Projekts. Dies ist das erste automatisierte Webtest-Tool, mit dem Benutzer eine von ihnen bevorzugte Programmiersprache verwenden konnten. Ab Version 2.25.0 kann RC die folgenden Programmiersprachen unterstützen:
- Java
- C#
- PHP
- Python
- Perl
- Ruby
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. Im Gegensatz zu Selenium RC ist WebDriver für Selenium-Automatisierungstests nicht auf JavaScript angewiesen. Es steuert den Browser, indem es direkt mit ihm kommuniziert.
Die unterstützten Sprachen sind die gleichen wie in Selenium RC.
- Java
- C#
- PHP
- Python
- Perl
- Ruby
Selenium Grid
Selenium Grid ist ein Tool, das zusammen mit Selenium RC verwendet wird, um parallele Tests auf verschiedenen Computern und verschiedenen Browsern gleichzeitig auszuführen. Parallele Ausführung bedeutet, mehrere Tests gleichzeitig auszuführen.
Eigenschaften:
- Ermöglicht die gleichzeitige Ausführung von Tests in mehreren Browsern und Umgebungen.
- Spart enorm Zeit.
- Nutzt 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 unterschiedliche Browser- und Betriebsumgebungen.
Selenium IDE | WebDriver | |
---|---|---|
Browser Support | Mozilla Firefox | Internet Explorer versions 6 to 11, both 32 and 64-bit Microsoft Edge version 12.10240 & above ( partial support some functionalities under development) Firefox 3.0 and above Google Chrome 12.0. and above Opera 11.5 and above Android – 2.3 und höher für Telefone und Tablets (Geräte & Emulatoren) iOS 3+ für Telefone (Geräte & Emulatoren) und 3.2+ für Tablets (Geräte & 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 veraltet ist & offiziell von SeleniumHQ angekündigt.
So wählen Sie das richtige Selenium-Tool für Ihre Anforderungen aus
|
|
---|---|
Selenium IDE |
|
Selenium RC |
|
WebDriver |
|
Selenium Grid |
|
Ein Vergleich zwischen Selenium und QTP(jetzt UFT)
Quick Test Professional(QTP) ist ein proprietäres automatisiertes Testwerkzeug, das zuvor der Firma Mercury Interactive gehörte, bevor es 2006 von Hewlett-Packard übernommen wurde. Die Selenium Tool Suite hat viele Vorteile gegenüber QTP, wie unten beschrieben –
Vorteile und Nutzen von Selenium gegenüber QTP
|
|
---|---|
Open Source, kostenlos und kostenlos. | Kommerziell. |
Sehr erweiterbar | Begrenzte Add-ons |
Kann Tests in verschiedenen Browsern ausführen | Kann Tests nur 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 Mobile testautomatisierung (iOS & Android) mit HP Lösung namens – HP Mobile Center |
Kann Tests ausführen, während der Browser minimiert ist | Muss die Anwendung unter test auf dem Desktop sichtbar sein |
Kann Tests parallel ausführen. | Kann nur parallel ausgeführt werden, jedoch mit Quality Center, das wiederum ein kostenpflichtiges Produkt ist. |
Advantages of QTP over Selenium
|
|
---|---|
Can test both web and desktop applications | Can only test web applications |
Comes with a built-in object repository | Has no built-in object 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 IDE von Drittanbietern für die Entwicklung verwendet werden kann |
Datengesteuerte Tests sind einfacher durchzuführen, da sie über integrierte globale und lokale Datentabellen verfügen. | Datengesteuertes Testen ist umständlicher, da Sie sich auf die Fähigkeiten der Programmiersprache verlassen müssen, um Werte für Ihre Testdaten festzulegen |
Kann auf Steuerelemente innerhalb des Browsers zugreifen (z. B. die Favoritenleiste, die Adressleiste, die Schaltflächen Zurück und Vorwärts usw.) | Kann nicht auf Elemente außerhalb der zu testenden Webanwendung zugreifen |
Bietet professionellen Kundensupport | Es wird kein offizieller Benutzersupport angeboten. |
Hat native Fähigkeit, Testdaten in externe Formate zu exportieren | Hat keine native Fähigkeit, Laufzeitdaten in externe Formate zu exportieren |
Parametrierunterstützung ist eingebaut | 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 Selenium völlig kostenlos ist)
- Flexibilität(wegen einer Reihe von Programmiersprachen, Browsern und Plattformen, die es unterstützen kann)
- Paralleles Testen(etwas, zu dem QTP in der Lage ist, aber nur mit Quality Center)
Zusammenfassung
- Die gesamte Selenium Software Testing Suite besteht aus vier Komponenten:
- Selenium IDE, ein Firefox-Add-On, das Sie nur zum Erstellen relativ einfacher Testfälle und Testsuiten verwenden 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, die neuere Version, mit der Ihre Testskripte direkt mit dem Browser kommunizieren und ihn so von der Betriebssystemebene aus steuern können.
- Selenium Grid ist auch ein Tool, das mit Selenium RC verwendet wird, um parallele Tests in verschiedenen Browsern und Betriebssystemen auszuführen.
- Selenium RC und WebDriver wurden zu Selenium 2 zusammengeführt.
- Selenium ist in Bezug auf Kosten und Flexibilität vorteilhafter als QTP. Außerdem können Sie Tests parallel ausführen, im Gegensatz zu QTP, bei dem Sie Tests nur nacheinander ausführen dürfen.
Leave a Reply