Was ist Selenium? Einführung zu Selenium Automatisierungstests
Was ist Selenium?
Selenium ist ein kostenloses (Open-Source) Framework für automatisierte Tests, mit dem Webanwendungen in verschiedenen Browsern und auf verschiedenen Plattformen validiert werden können. Sie können mehrere Programmiersprachen verwenden, wie Java, C#, Python, usw. zu erstellen Selenium Testskripte. Der Test wurde mit dem durchgeführt Selenium Testtool wird üblicherweise als bezeichnet Selenium Testen.
Selenium Tool-Suite
Selenium Bei Software handelt es sich nicht nur um ein einzelnes Tool, sondern um eine Suite von Software, die jeweils unterschiedliche Aufgaben erfüllt Selenium QA-Testanforderungen einer Organisation. Hier ist die Liste der Tools
- Selenium Integrierte Entwicklungsumgebung (IDE)
- Selenium Fernbedienung (RC)
- WebTreiber
- Selenium Gitter
In dem Moment, Selenium RC und WebDriver werden zu einem einzigen Framework zusammengeführt Selenium 2. Selenium 1 bezieht sich übrigens auf Selenium RC.
Video Tutorial Selenium
Klicken Sie HIER wenn das Video nicht zugänglich ist
Wer hat entwickelt? Selenium?
Da Selenium ist eine Sammlung verschiedener Tools, es gab auch verschiedene Entwickler. Nachfolgend sind die Schlüsselpersonen aufgeführt, die bemerkenswerte Beiträge dazu geleistet haben Selenium PROJEKT
In erster Linie, Selenium wurde 2004 von Jason Huggins erstellt. Als Ingenieur bei ThoughtWorks arbeitete er an einer Webanwendung, die häufige Tests erforderte. Als er erkannte, dass die wiederholten manuellen Tests ihrer Anwendung immer ineffizienter wurden, erstellte er eine JavaSkript Programm, das die Aktionen des Browsers automatisch steuert. Er nannte dieses Programm „JavaSkriptTestRunner"
Da er das Potenzial dieser Idee zur Automatisierung anderer Webanwendungen erkannte, JavaScriptRunner Open-Source, das später umbenannt wurde Selenium Core. Wenn Sie andere Möglichkeiten zum Testen von Webanwendungen erkunden möchten, werfen Sie einen Blick auf diese Selenium Alternativen.
Das Problem mit der Same-Origin-Richtlinie
Die Same Origin-Richtlinie verbietet JavaSkriptcode greift auf Elemente aus einer anderen Domäne zu als der, in der er gestartet wurde. Beispielsweise verwendet der HTML-Code in www.google.com eine JavaSkriptprogramm „randomScript.js“. Die Same-Origin-Policy erlaubt randomScript.js nur den Zugriff auf Seiten innerhalb von google.com wie google.com/mail, google.com/login oder google.com/signup. Es kann jedoch nicht auf Seiten von anderen Sites wie yahoo.com/search oder guru99.com zugreifen, da diese zu unterschiedlichen Domänen gehören.
Dies ist der Grund, warum vor Selenium RC, Tester mussten lokale Kopien von beiden installieren Selenium Kern (ein JavaSkriptprogramm) und der Webserver, auf dem sich die zu testende Webanwendung befindet, sodass sie zur selben Domäne gehören
Geburt von Selenium Fernbedienung (Selenium RC)
Bedauerlicherweise; Tester verwenden Selenium Core musste die gesamte zu testende Anwendung und den Webserver aufgrund der durch das System auferlegten Einschränkungen auf seinen eigenen lokalen Computern installieren Gleiche Herkunftspolitik. Also ein anderer Ingenieur von ThoughtWork, widerspricht, beschlossen, einen Server zu erstellen, der als HTTP-Proxy fungiert, um den Browser dazu zu „täuschen“, dies zu glauben Selenium Der Kern und die getestete Webanwendung stammen aus derselben Domäne. Dieses System wurde als bekannt Selenium Fernwartung or Selenium 1.
Geburt von Selenium Gitter
Selenium Grid wurde entwickelt von Patrick Lightbody um der Notwendigkeit gerecht zu werden, die Testausführungszeiten so weit wie möglich zu minimieren. Er nannte das System zunächst „Gehostete Qualitätssicherung.“ Es war in der Lage, Browser-Screenshots während wichtiger Phasen und auch von zu erfassen Aussendung Selenium Befehle gleichzeitig an verschiedene Maschinen senden.
Geburt von Selenium IDE
widerspricht von Japan geschaffen Selenium IDE herunter ,ein Firefox und Chrome-Erweiterung, die den Browser durch eine Aufnahme- und Wiedergabefunktion automatisieren kann. Er kam auf die Idee, die Geschwindigkeit bei der Erstellung von Testfällen weiter zu erhöhen. Er hat gespendet Selenium IDE zum Selenium Projekt in 2006.
Geburt von WebDriver
Simon Stewart WebDriver ca. erstellt 2006 als Browser und Webanwendungen immer leistungsfähiger und restriktiver wurden mit JavaSkriptprogramme wie Selenium Ader. Es war das erste plattformübergreifende Testframework, das den Browser von der Betriebssystemebene aus steuern konnte.
Geburt von Selenium 2
In 2008, das Ganze Selenium Das Team hat beschlossen, WebDriver und zusammenzuführen Selenium RC soll ein leistungsfähigeres Werkzeug namens bilden Selenium 2, mit WebDriver ist der Kern. Zur Zeit, Selenium RC befindet sich noch in der Entwicklung, jedoch nur im Wartungsmodus. Die meisten von den Selenium Die Bemühungen des Projekts konzentrieren sich nun auf Selenium 2.
Warum also der Name? Selenium?
Der Name Selenium entstand aus einem Witz, den Jason seinem Team einmal erzählte. Während Selenium's Entwicklung, eine andere automatisierte Tests Das Framework wurde von der Firma mit dem Namen „Popular“ hergestellt Mercury Interaktives Benutzererlebnis (Ja, das Unternehmen, das QTP ursprünglich hergestellt hat, bevor es von HP übernommen wurde). Seit Selenium ist ein bekanntes Gegenmittel für Mercury Vergiftung, Jason schlug diesen Namen vor und seine Teamkollegen nahmen ihn an. So kam es, dass wir dieses Framework bis heute so nennen.
Was ist Selenium IDE?
Selenium Integrierte Entwicklungsumgebung (IDE) ist die einfachstes Framework begann Selenium Suite und ist am einfachsten zu erlernen. Es ist ein Chrome und Firefox Plugin dass Sie es genauso einfach installieren können wie andere Plugins. Aufgrund seiner Einfachheit ist es jedoch Selenium IDE sollte nur als verwendet werden Prototyping-Tool. Wenn Sie fortgeschrittenere Testfälle erstellen möchten, müssen Sie beides verwenden Selenium RC oder WebDriver.
Was ist Selenium Fernbedienung (Selenium RC)?
Selenium RC war der Flaggschiff-Test-Framework des ganzen Selenium Projekt schon lange. Dies ist die erste automatisierte Webtests Werkzeug das ermöglicht es Benutzern, eine Programmiersprache zu verwenden, die sie bevorzugenAb Version 2.25.0 kann RC die folgenden Programmiersprachen unterstützen:
Was ist WebDriver?
Der WebDriver erweist sich als besser als Selenium IDE und Selenium RC in vielerlei Hinsicht. Es implementiert einen moderneren und stabileren Ansatz zur Automatisierung der Browseraktionen. Im Gegensatz zu WebDriver Selenium RC verlässt sich nicht auf JavaSkript für Selenium Automatisierungstests. 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
Was ist Selenium Netz?
Selenium Grid ist ein Werkzeug zusammen verwendet mit Selenium RC zum Laufen parallele Tests auf verschiedenen Computern und in verschiedenen Browsern gleichzeitig. Parallele Ausführung bedeutet, dass mehrere Tests gleichzeitig ausgeführt werden.
Merkmale:
- Aktiviert Gleichzeitige Durchführung von Tests in mehrere Browser und Umgebungen.
- Spart Zeit enorm.
- Verwendet die Hub-and-Nodes Konzept. Der Hub fungiert als zentrale Quelle für Selenium Befehle an jeden damit verbundenen Knoten.
Selenium Browser- und Umgebungsunterstützung
Aufgrund ihrer architektonischen Unterschiede Selenium SDI, Selenium RC und WebDriver unterstützen unterschiedliche Browser und Betriebssystemumgebungen.
Selenium IDE | WebTreiber | |
---|---|---|
Browser-Unterstützung | Mozilla Firefox und Chrome |
Google Chrome 12+ Firefox Internet Explorer 7+ und Edge Safari, HtmlUnit und PhantomUnit |
Betriebssystem | Windows, Mac OS X, Linux | Alle Betriebssysteme, auf denen die oben genannten Browser ausgeführt werden können. |
Hinweis: Opera Treiber funktioniert nicht mehr
So wählen Sie das Richtige Selenium Werkzeug für Ihren Bedarf
Werkzeug | Warum wählen? |
---|---|
Selenium IDE |
|
Selenium RC |
|
WebTreiber |
|
Selenium Gitter |
|
Ein Vergleich zwischen Selenium und QTP (jetzt UFT)
Quick Test Professional (QTP) ist ein proprietäres automatisiertes Testtool, das zuvor dem Unternehmen gehörte Mercury Interaktives Benutzererlebnis bevor Hewlett-Packard es erwarb im Jahr 2006 angegeben. Späterer Eigentümer ist MicroFocus und das Tool wird in UFT one umbenannt. Selenium Tool Suite hat viele Vorteile gegenüber QTP wie unten detailliert -
Vorteile und Nutzen von Selenium über QTP
Selenium | QTP |
---|---|
Open Source, frei zu benutzen und kostenlos. | Gewerblich. |
Sehr erweiterbar | Begrenzte Add-ons |
Kann Tests übergreifend ausführen verschiedene Browser | Es können nur Tests ausgeführt werden Firefox, Internet Explorer und Chrome |
Unterstützt verschiedene Betriebssysteme | Kann nur in verwendet werden Windows |
Unterstützt mobile Geräte | QTP unterstützt die Testautomatisierung mobiler Apps (iOS & Android) mit der HP-Lösung „HP Mobile Center“. |
Kann Tests durchführen während Der Browser wird minimiert | Die zu testende Anwendung muss auf dem Desktop sichtbar sein |
Kann Tests durchführen Parallel. | Kann nur parallel ausgeführt werden, jedoch mit Quality Center, das wiederum ein kostenpflichtiges Produkt ist. |
Vorteile von QTP gegenüber Selenium
QTP | Selenium |
---|---|
Kann testen sowohl Web- als auch Desktop-Anwendungen | Kann nur Webanwendungen testen |
Kommt mit einem Integriertes Objekt-Repository | Verfügt über kein integriertes Objekt-Repository |
Automatisiert schneller als Selenium weil es eine voll ausgestattete IDE ist. | Die Automatisierung erfolgt langsamer, da keine native IDE vorhanden ist und nur IDEs von Drittanbietern für die Entwicklung verwendet werden können. |
Datengesteuerte Tests sind einfacher durchzuführen, weil Es verfügt über integrierte globale und lokale Datentabellen. | Datengesteuertes Testen ist umständlicher, da Sie sich beim Festlegen von Werten für Ihre Testdaten auf die Fähigkeiten der Programmiersprache verlassen müssen |
Kann auf Steuerelemente im Browser zugreifen(z. B. die Favoritenleiste, die Adressleiste, die Schaltflächen „Zurück“ und „Weiter“ usw.) | Auf Elemente außerhalb der zu testenden Webanwendung kann nicht zugegriffen werden |
Bietet professionell Kunden-Support | Es wird kein offizieller Benutzersupport angeboten. |
Verfügt über native Fähigkeiten dazu Testdaten exportieren in externe Formate | Verfügt über keine native Funktion zum Exportieren von Laufzeitdaten in externe Formate |
Parametrisierungsunterstützung ist aufgebaut | Die Parametrierung kann per Programmierung erfolgen, ist jedoch schwierig umzusetzen. |
Testberichte werden automatisch generiert | Keine native Unterstützung zum Generieren von Test-/Fehlerberichten. |
Obwohl QTP eindeutig über erweiterte Funktionen verfügt, Selenium übertrifft QTP in drei Hauptbereichen:
- Kosten(da Selenium ist völlig kostenlos)
- Flexibilität(aufgrund einer Reihe von Programmiersprachen, Browsern und Plattformen, die unterstützt werden können)
- Paralleles Testen(etwas, wozu QTP in der Lage ist, aber nur unter Verwendung von Quality Center)
Zusammenfassung
- Die gesamte Selenium Die Software Testing Suite besteht aus vier Komponenten:
- Selenium Idee Firefox und Chrome-Add-on, das Sie nur zum Erstellen relativ einfacher Testfälle und Testsuiten verwenden können.
- Selenium Fernbedienung, auch bekannt als Selenium 1, ist die erste Selenium Tool, das es Benutzern ermöglichte, Programmiersprachen zum Erstellen komplexer Tests zu verwenden.
- WebDriver ist der neuere Durchbruch, der es Ihren Testskripten ermöglicht, direkt mit dem Browser zu kommunizieren und ihn so von der Betriebssystemebene aus zu steuern.
- Selenium Grid ist auch ein Werkzeug, das mit verwendet wird Selenium RC zum Ausführen paralleler Tests in verschiedenen Browsern und Betriebssystemen.
- Selenium RC und WebDriver wurden zusammengeführt Selenium 2.
- Selenium ist hinsichtlich Kosten und Flexibilität vorteilhafter als Microfocus UFT One.