Was ist Selenium? Einführung zu Selenium Automatisierungstests

Was ist Selenium?

Selenium ist ein kostenloses (Open-Source-) automatisiertes Testframework, das zur Validierung von Webanwendungen über verschiedene Browser und Plattformen hinweg verwendet wird. Sie können zum Erstellen mehrere Programmiersprachen wie Java, C#, Python usw. verwenden 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 auf Kostenlos erhalten und dann auf Installieren. wenn sie hier klicken 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 Der

Wir entwickelten Selenium

Primaridort, 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 JavaScript Programm, das die Aktionen des Browsers automatisch steuert. Er nannte dieses Programm „unterstützt"

Er erkannte das Potenzial dieser Idee, andere Webanwendungen zu automatisieren, und machte JavaScriptRunner zu einer Open-Source-Lösung later umbenannt Selenium Kernbereich. 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 verhindert, dass JavaScript-Code auf Elemente einer Domäne zugreift, die sich von der Domäne unterscheidet, in der er gestartet wurde. Beispielsweise verwendet der HTML-Code in www.google.com ein JavaScript-Programm „randomScript.js“. Die gleiche Ursprungsrichtlinie erlaubt randomScript.js nur den Zugriff auf Seiten innerhalb von google.com, z. B. google.com/mail, google.com/login oder google.com/signup. Es kann jedoch nicht auf Seiten verschiedener Websites 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 Core (ein JavaScript-Programm) und der Webserver, der die zu testende Webanwendung enthält, gehören also zur selben Domäne

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 an verschiedene Maschinen gleichzeitig sendenneogewöhnlich.

Geburt von Selenium IDE

widerspricht

widerspricht von Japan geschaffen Selenium IDE,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 mit JavaScript-Programmen immer leistungsfähiger und restriktiver wurden 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 Interactive (Ja, das Unternehmen, das QTP ursprünglich hergestellt hat, bevor es von HP übernommen wurde). Seit Selenium ist ein bekanntes Gegenmittel gegen Quecksilbervergiftungen. Jason schlug diesen Namen vor und seine Teamkollegen übernahmen ihn. So nennen wir diesen Rahmen also bis heute.

Warum der Name Selenium

Was ist Selenium IDE?

Selenium Integrierte Entwicklungsumgebung (IDE) ist die einfachstes Framework der 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 bevorzugen. Ab Version 2.25.0 kann RC Folgendes unterstützenwing Programmiersprachen:

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 ist nicht auf JavaScript angewiesen Selenium Automatisierungstests. Es steuert den Browser, indem es direkt mit ihm kommuniziert.

Die unterstützten Sprachen sind die gleichen wie in Selenium RC.

  • Javac
  • 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 gleichzeitigneoWir führen Tests durch 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

Wegen ihrer archistrukturelle Unterschiede, Selenium SDI, Selenium RC und WebDriver unterstützen verschiedene Browsersätze und operating-Umgebungen.

  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 operating-Systeme, 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
  • Um zu lernen concepts zu automatisierten Tests und Selenium, Einschließlich:
  • Selenese-Befehle wie „Typ“, „Öffnen“, „ClickAndWait“, „Assert“, „Verifizieren“ usw.
  • Locators wie ID, Name, XPath, CSS-Selektor usw.
  • Ausführen von benutzerdefiniertem JavaScript-Code mit runScript
  • Testfälle in verschiedene Formate exportieren.
  • Tests mit geringen oder keinen Vorkenntnissen in der Programmierung erstellen.
  • Um einfache Testfälle und Testsuiten zu erstellen, die Sie exportieren können later zu RC oder WebDriver.
  • 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 Geräten auszuführen operating-Systeme.
  • Um Ihre Tests in mehreren Umgebungen bereitzustellen, verwenden Sie Selenium Gitter
  • Um Ihre Anwendung mit einem neuen Browser zu testen, der JavaScript unterstützt.
  • So testen Sie Webanwendungen mit complex AJAX-basierte 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 operating systeme simultanneogewöhnlich.
  • 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 Interactive bevor Hewlett-Packard es erwarb im Jahr 2006 angegeben. Seine later Eigentümer ist MicroFocus und das Tool wird in UFT One umbenannt. Der 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. Gewerbe.
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 operating-Systeme 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 beim Erstellen von COM zu verwendenplex Tests.
  • 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, um parallele Tests über verschiedene Browser hinweg auszuführen operating-Systeme.
  • Selenium RC und WebDriver wurden zusammengeführt Selenium 2.
  • Selenium ist vorteilhafter als Microfocus UFT One hinsichtlich Kosten und Flexibilität.