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

Selenium Tool-Suite

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

Wir entwickelten Selenium

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.

Das Problem mit der Same-Origin-Richtlinie

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)

widerspricht

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

Patrick Lightbody

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

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

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.

Warum der Name Selenium

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.

Selenium IDE

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:

Selenium Fernbedienung (Selenium RC)

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

Webtreiber

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
  • Erfahren Sie mehr über Konzepte zum automatisierten Testen und Selenium, Einschließlich:
  • Selenese-Befehle wie „Typ“, „Öffnen“, „ClickAndWait“, „Assert“, „Verifizieren“ usw.
  • Locators wie ID, Name, XPath, CSS-Selektor usw.
  • Durchführen von benutzerdefinierten JavaSkriptcode mit runScript
  • Testfälle in verschiedene Formate exportieren.
  • Tests mit geringen oder keinen Vorkenntnissen in der Programmierung erstellen.
  • Zum Erstellen einfacher Testfälle und Test-Suiten, die Sie später nach RC oder WebDriver exportieren können.
  • Um eine Webanwendung dagegen zu testen Firefox und nur Chrome.
Selenium RC
  • Einen Test mit einer ausdrucksstärkeren Sprache als Selenese entwerfen
  • Um Ihren Test mit verschiedenen Browsern (außer HtmlUnit) auf verschiedenen Betriebssystemen auszuführen.
  • Um Ihre Tests in mehreren Umgebungen bereitzustellen, verwenden Sie Selenium Gitter
  • Um Ihre Anwendung mit einem neuen Browser zu testen, der dies unterstützt JavaSkript.
  • Zum Testen von Webanwendungen mit komplexen AJAX-basierten Szenarien.
WebTreiber
  • Um eine bestimmte Programmiersprache beim Entwerfen Ihres Testfalls zu verwenden.
  • Zum Testen von Anwendungen, die reich an AJAX-basierten Funktionalitäten sind.
  • Um Tests im HtmlUnit-Browser auszuführen.
  • Um individuelle Testergebnisse zu erstellen.
Selenium Gitter
  • Um deine Selenium RC-Skripte in mehreren Browsern und Betriebssystemen gleichzeitig.
  • Um eine riesige Testsuite auszuführen, muss diese so schnell wie möglich abgeschlossen sein.

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.