Was ist Selen? Erste Schritte mit Selenium Automation Testing

Wissen Sie, was Selenium ist? Haben Sie eine Idee, warum es verwendet wird? Wenn Sie die Antwort auf diese beiden Fragen möchten, warten Sie, bis Sie den gesamten Inhalt dieses Blogs gelesen haben, denn Sie werden froh sein, dass Sie eine angemessene Zeit damit verbracht haben, eine Einführung in das zu erhalten, was im Mittelpunkt Ihrer nächsten beruflichen Rolle stehen könnte.

Automatisierungstests erobern die Welt im Sturm & Selenium-Zertifizierung ist eine der gefragtesten Fähigkeiten in der Branche.

Was ist Selen?

Selenium ist ein Open-Source-Tool, das zur Automatisierung der Tests in Webbrowsern verwendet wird (Webanwendungen werden mit jedem Webbrowser getestet).

Warten Sie, bevor Sie sich hinreißen lassen, lassen Sie mich noch einmal wiederholen, dass mit Selenium nur das Testen von Webanwendungen möglich ist. Wir können weder eine Desktop-Anwendung (Software) noch eine mobile Anwendung mit Selen testen.

Es ist ein Mist, nicht wahr? Ich spüre deinen Schmerz. Aber keine Sorge, es gibt viele Tools zum Testen von Software und mobilen Anwendungen wie: IBMs RFT, HPS QPT, Appium und viele mehr. Der Schwerpunkt dieses Blogs liegt jedoch auf dem Testen dynamischer Webanwendungen und warum Selenium für diesen Zweck am besten geeignet ist.

Was sind die Vorteile von Selen?

Da Selenium Open Source ist, fallen keine Lizenzkosten an, was ein großer Vorteil gegenüber anderen Testwerkzeugen ist. Weitere Gründe für die ständig wachsende Beliebtheit von Selenium sind:

Selenium-Funktionen - was ist Selen

  • Testskripte können in jeder dieser Programmiersprachen geschrieben werden: Java, Python, C #, PHP, Ruby, Perl & .Net
  • Tests können in jedem dieser Betriebssysteme durchgeführt werden: Windows, Mac oder Linux
  • Tests können mit jedem Browser durchgeführt werden: Mozilla Firefox, Internet Explorer, Google Chrome, Safari oder Opera
  • Es kann mit Tools wie TestNG integriert werden & JUnit zum Verwalten von Testfällen und Generieren von Berichten
  • Es kann mit Maven, Jenkins& Docker, um kontinuierliche Tests zu erreichen

Aber es muss sicherlich Mängel geben, oder?

  • Wir können Selenium nur zum Testen von Webanwendungen verwenden. Wir können keine Desktop-Anwendungen oder andere Software testen
  • Es gibt keinen garantierten Support für Selenium. Wir müssen die verfügbaren Kundengemeinschaften nutzen
  • Es ist nicht möglich, Tests an Bildern durchzuführen. Wir müssen Selenium mit Sikuli für bildbasierte Tests integrieren
  • Es gibt keine native Berichtsfunktion. Aber wir können dieses Problem überwinden, indem wir es in Frameworks wie TestNG oder JUnit integrieren

Bevor Sie in diesem Was ist Selenium Blog weiter gehen, sollten Sie die Geschichte dahinter kennen, wie Selenium entstanden ist, was es heute ist. Lassen Sie uns das Szenario in der folgenden Reihenfolge verstehen:

    1. Bedarf an Softwaretests
    2. Herausforderungen beim manuellen Testen
    3. Wie schlägt Automatisierungstests manuelles Testen?
    4. Selenium vs. andere Testwerkzeuge?
    5. Selenium Suite von Tools

Notwendigkeit für Softwaretests

Softwaretests sind der Punkt, auf den alles hinausläuft. Die heutige Welt der Technologie wird vollständig von Maschinen dominiert, und ihr Verhalten wird von der Software gesteuert, die sie antreibt. Werden sich die Maschinen genau so verhalten, wie wir es uns wünschen? Jedes Mal? Überall? Die Antwort auf diese Fragen liegt im Softwaretest.

Am Ende des Tages ist es die Erfolgsrate der Softwareanwendung, die Ihr Geschäftswachstum steuern wird. Das Gleiche gilt auch für Webanwendungen, da die meisten Unternehmen heute vollständig auf das Internet angewiesen sind.

Nehmen wir zum Beispiel ein E-Commerce-Unternehmen. Sei es Amazon oder E-Bay oder Flipkart, sie verlassen sich auf den Kundenverkehr auf ihren Websites und den Verkehr auf ihren webbasierten mobilen Anwendungen für Unternehmen.

Stellen Sie sich vor, wenn etwas Katastrophales passiert, wie die Preise einer Reihe von Produkten auf 10 $ begrenzt werden, alles wegen eines kleinen Fehlers in einem „nicht so leicht lesbaren“ Teil des Codes. Was kann dann getan werden und wie können wir es beim nächsten Mal verhindern?

Indem Sie den Code vor der Bereitstellung testen, oder? Das ist also die Notwendigkeit von Softwaretests. Aber was ist Selen? Ist es ein Software-Test-Tool? Nun, Selenium ist ein Automatisierungstest-Tool!

Bevor ich weiter gehe, lassen Sie mich klarstellen, dass es zwei Arten von Softwaretests gibt: Manuelles Testen & Automatisiertes Testen. Selenium wurde als Automatisierungstestwerkzeug gegründet, um die Nachteile / Einschränkungen manueller Tests zu überwinden. Lassen Sie uns im nächsten Abschnitt dieses What is Selenium-Blogs die Herausforderungen beim manuellen Testen verstehen.

Herausforderungen beim manuellen Testen

Manuelles Testen bedeutet, dass die (Web-) Anwendung manuell von QA-Testern getestet wird. Tests müssen in jeder Umgebung manuell durchgeführt werden, wobei ein anderer Datensatz verwendet wird, und die Erfolgs- / Ausfallrate jeder Transaktion sollte aufgezeichnet werden.

manuelle Testherausforderungen - was ist Selen

Schauen Sie sich das obige Bild eines armen Mannes an, der die aufgezeichneten Transaktionen manuell überprüft. Die Herausforderungen, denen er gegenübersteht, verursachen Müdigkeit, Langeweile, Arbeitsverzögerungen, Fehler und Fehler aufgrund manueller Anstrengungen. Dies führte zur Erfindung von Selenium (Automation Testing Tool).

Automatisierungstests schlagen manuelles Testen

Automatisierungstests schlagen jedes Mal manuelles Testen. Warum? Weil es schneller ist, weniger Investitionen in Humanressourcen erfordert, nicht fehleranfällig ist, häufige Ausführung von Tests möglich ist, die Ausführung von Lights Out unterstützt, Regressionstests und auch Funktionstests unterstützt.

Nehmen wir ein ähnliches Beispiel wie das zuvor erwähnte. Angenommen, es gibt eine Anmeldeseite und wir müssen überprüfen, ob alle Anmeldeversuche erfolgreich sind, dann ist es wirklich einfach, einen Code zu schreiben, der überprüft, ob alle Transaktions- / Anmeldeversuche erfolgreich sind oder nicht (automatisierte Testfallausführung).

Darüber hinaus können diese Tests so konfiguriert werden, dass sie in verschiedenen Umgebungen und Webbrowsern getestet werden. Was kann man noch tun? Sie können die Generierung der Ergebnisdatei automatisieren, indem Sie sie für eine bestimmte Tageszeit planen. Dann können Sie auch die Generierung von Berichten basierend auf diesen Ergebnissen automatisieren und was nicht.

Der entscheidende Punkt ist, dass Automatisierungstests die Arbeit eines Testers viel einfacher machen. Schauen Sie sich das Bild unten an, das eine entspanntere Umgebung zeigt, in der derselbe Tester arbeitet.

Automatisierungstests - was ist Selen

Lassen Sie mich nun insbesondere über Selen sprechen.

Lassen Sie uns nun sehen, wo Selen auf dem Markt steht.

Selenium vs QTP vs RFT

Ich habe seine Leistung mit zwei anderen beliebten Tools verglichen: QTP und RFT in der folgenden Tabelle.

Features HP QTP IBM RFT Selenium
License Required Required Open-source
Cost High High Open-source software
Customer Support Dedicated HP support Dedicated IBM support Open-source Community
Hardware consumption during script execution High High Low
Coding experience Not required Erforderlich Reichlich Programmierkenntnisse und Erfahrung erforderlich
Umgebungsunterstützung Nur für Windows Nur für Windows Windows, Linux, Solaris OS X (Wenn Browser & JVM- oder JavaScript-Unterstützung vorhanden ist)
Sprachunterstützung VB-Skript Java und C # Java, C #, Ruby, Python, Perl, PHP und JavaScript

Aus der obigen Tabelle geht hervor, warum Selenium das am meisten bevorzugte Tool ist. Aber es gibt viele Geschmacksrichtungen in Selen und Sie sollten wissen, welches das richtige Selen-Tool für Ihren Bedarf ist.

Selenium Suite von Tools

  • Selenium RC (Jetzt abgeschrieben)
  • Selenium IDE
  • Selenium Grid
  • Selenium WebDriver

Was sind die Komponenten von Selenium?

Im Folgenden habe ich jede der Komponenten des Selenium im Detail erklärt:

Selenium RC (Fernbedienung)

Bevor ich über die Details von Selenium RC spreche, möchte ich einen Schritt zurückgehen und über das erste Tool im Selenium-Projekt sprechen. Selenium Core war das erste Werkzeug. Selenium Core stieß jedoch aufgrund der Richtlinie für denselben Ursprung auf eine Straßensperre in Bezug auf domänenübergreifende Tests. Die Richtlinie für denselben Ursprung verbietet JavaScript-Code den Zugriff auf Webelemente, die in einer anderen Domäne gehostet werden als die, in der das JavaScript gestartet wurde.

Um das Problem mit der Richtlinie für denselben Ursprung zu beheben, mussten die Tester lokale Kopien von Selenium Core (einem JavaScript-Programm) und dem Webserver mit der zu testenden Webanwendung installieren, damit sie derselben Domäne angehören. Dies führte zur Geburt von Selenium RC, das dem damaligen Ingenieur von ThoughtWork, Paul Hammant, akkreditiert ist.

RC überwand das Problem, indem es einen HTTP-Proxyserver einbezog, um den Browser zu „täuschen“, dass Selenium Core und die zu testende Webanwendung aus derselben Domäne stammen. Damit ist RC ein Zwei-Komponenten-Werkzeug.

  1. Selenium RC Server
  2. Selenium RC Client – Bibliothek mit Ihrem Programmiersprachencode

RC Server kommuniziert über einfache HTTP GET / POST-Anforderungen. Sehen Sie sich das folgende Bild an, um die RC-Architektur zu verstehen.

selenium rc - was ist Selenium?

Das Flaggschiff des Selenium-Projekts war Selenium RC, da es ihr erstes Tool war und zum Schreiben von Testfällen in verschiedenen Programmiersprachen verwendet werden konnte Sprachen. Der Nachteil bei RC ist jedoch, dass jede Kommunikation mit dem RC-Server zeitaufwändig und daher RC sehr langsam ist. So langsam, dass es manchmal Stunden dauern würde, einzelne Tests abzuschließen.

Ab Selenium v3 wurde RC abgeschrieben und in das Legacy-Paket verschoben. Sie können jedoch RC herunterladen und damit arbeiten, aber leider können Sie keinen Support dafür in Anspruch nehmen. Aber auf der anderen Seite, warum sollten Sie ein veraltetes Tool verwenden, insbesondere wenn es ein effizienteres Tool namens Selenium WebDriver gibt. Bevor ich über WebDriver spreche, möchte ich über IDE und Grid sprechen, die anderen Tools, aus denen Selenium v1 besteht.

Selenium IDE (Integrated Development Environment)

Im Jahr 2006 hatte Shinya Kastani aus Japan seinen Selenium IDE-Prototyp dem Selenium-Projekt von Apache gespendet. Es war ein Firefox-Plugin zur schnelleren Erstellung von Testfällen. IDE implementierte ein Aufzeichnungs- und Wiedergabemodell, bei dem Testfälle erstellt werden, indem die Interaktionen aufgezeichnet werden, die der Benutzer mit dem Webbrowser hatte. Diese Tests können dann beliebig oft wiedergegeben werden.

Der Vorteil von Selenium IDE ist, dass über das Plugin aufgezeichnete Tests in verschiedene Programmiersprachen wie Java, Ruby, Python usw. exportiert werden können. Schauen Sie sich den folgenden Screenshot des IDE-Plugins von Firefox an.

selenium ide - was ist Selen

Aber die damit verbundenen Mängel der IDE sind:

  • Plug-in nur für Mozilla Firefox verfügbar; nicht für andere Browser
  • Es ist nicht möglich, dynamische Webanwendungen zu testen; es können nur einfache Tests aufgezeichnet werden
  • Testfälle können nicht mit Programmierlogik geschrieben werden
  • Unterstützt kein datengesteuertes Testen

Dies waren einige der Aspekte von Selenium IDE. Lassen Sie mich nun über Selenium Grid sprechen.

Was ist Selenium Grid

Selenium Grid wurde von Patrick Lightbody entwickelt und ursprünglich HostedQA genannt (ursprünglich ein Teil von Selenium v1) und wurde in Kombination mit RC verwendet, um Tests auf Remote-Computern auszuführen. Tatsächlich können mit Grid mehrere Testskripte gleichzeitig auf mehreren Computern ausgeführt werden.

Die parallele Ausführung wird mit Hilfe der Hub-Node-Architektur erreicht. Eine Maschine übernimmt die Rolle des Hubs und die anderen sind die Knoten. Hub steuert die Testskripte, die auf verschiedenen Browsern in verschiedenen Betriebssystemen ausgeführt werden. Testskripte, die auf verschiedenen Knoten ausgeführt werden, können in verschiedenen Programmiersprachen geschrieben werden.

selenium grid - was ist Selenium

Grid wird weiterhin verwendet und funktioniert sowohl mit WebDriver als auch mit RC. Die Aufrechterhaltung eines Rasters mit allen erforderlichen Browsern und Betriebssystemen ist jedoch eine Herausforderung. Zu diesem Zweck gibt es mehrere Online-Plattformen, die ein Online-Selenium-Grid bereitstellen, auf das Sie zugreifen können, um Ihre Selenium-Automatisierungsskripte auszuführen. Sie können beispielsweise LambdaTest verwenden. Es verfügt über mehr als 2000 Browserumgebungen, in denen Sie Ihre Tests ausführen und browserübergreifende Tests wirklich automatisieren können.

Was ist Selenium WebDriver

Selenium WebDriver wurde 2006 von Simon Stewart gegründet und war das erste plattformübergreifende Testframework, das den Browser von der Betriebssystemebene aus steuern konnte. Im Gegensatz zur IDE bietet Selenium WebDriver eine Programmierschnittstelle zum Erstellen und Ausführen von Testfällen. Testfälle werden so geschrieben, dass Webelemente auf Webseiten identifiziert und anschließend Aktionen für diese Elemente ausgeführt werden.

WebDriver ist ein Upgrade auf RC, weil es viel schneller ist. Es ist schneller, weil es direkte Anrufe an den Browser tätigt. RC hingegen benötigt einen RC-Server, um mit dem Webbrowser zu interagieren. Jeder Browser verfügt über einen eigenen Treiber, auf dem die Anwendung ausgeführt wird. Die verschiedenen WebDriver sind:

  • Firefox-Treiber (Gecko-Treiber)
  • Chrome-Treiber
  • Internet Explorer-Treiber
  • Opera-Treiber
  • Safari-Treiber und
  • HTML5-Treiber

Vorteile von Selenium WebDriver

  • Unterstützung für 7 Programmiersprachen: JAVA, C #, PHP, Ruby, Perl, Python und .Net.
  • Unterstützt Tests auf verschiedenen Browsern wie: Firefox, Chrome, IE, Safari
  • Tests können auf verschiedenen Betriebssystemen wie: Windows, Mac, Linux, Android, iOS
  • Überwindet Einschränkungen von Selenium v1 wie Datei-Upload, Download, Pop-ups & Dialoge Barriere

Mängel von Selenium WebDriver

  • Detaillierte Testberichte können nicht generiert werden
  • Das Testen von Bildern ist nicht möglich

Unabhängig von der Herausforderung können diese Mängel durch Integrationen mit anderen Frameworks überwunden. Zum Testen von Bildern kann Sikuli verwendet werden, und zum Generieren detaillierter Testberichte kann TestNG verwendet werden.

Das zieht also die Schlussfolgerung zu diesem Blog, was Selen ist. Um mehr über Selenium WebDriver und TestNG zu erfahren, lesen Sie die anderen Blogs in dieser Selenium Tutorial Blog-Serie. Alternativ können Sie das Video unten sehen, das von einer Branchenexpertin geliefert wurde, in der sie ihre Meinung zu Selenium als Automatisierungstestwerkzeug geäußert hat.

Was ist Selen? / Selenium Tutorial / Selenium Training / Edureka

Dieser ‚Was ist Selenium‘ Blog ist der erste in der Selenium Tutorial Blog-Serie. Bleiben Sie auf Edurekas Blog-Site für weitere Blogs zu Selenium auf dem Laufenden.

Wenn Sie Selenium lernen und eine Karriere im Testbereich aufbauen möchten, dann schauen Sie sich hier unser interaktives Live-Online-Selenium-Zertifizierungstraining an, das mit 24 * 7-Support geliefert wird, der Sie während Ihrer gesamten Lernzeit begleitet.

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.