Selenium Intro – Einführung

Selenium Intro – Einführung
MIN
30 Juni 2023

Dies ist unser erstes Tutorial in einer Reihe von Tutorials über Selenium. In diesem Tutorial werden wir die Grundlagen des Selenium-Pakets, seine verschiedenen Komponenten, Funktionen, Vorteile und Einschränkungen durchgehen.

Inhaltsübersicht

Was ist Selen?

Selenium ist ein kostenloses, quelloffenes Testautomatisierungspaket, das zur Automatisierung von Webanwendungen eingesetzt wird. Es unterstützt die Automatisierung über Browser, Plattformen und Programmiersprachen hinweg. Mit Selenium können wir funktionale Tests automatisieren und sie leicht in Maven, Jenkins und andere Automatisierungs- und kontinuierliche Integrationstools integrieren.

Komponenten der Selenium-Suite

Die Selenium Suite besteht aus den folgenden vier Komponenten:

  1. Selenium IDE – Selenium IDE ist ein Aufzeichnungs- und Wiedergabe-Automatisierungstool, das wir zur Automatisierung von Webanwendungen verwenden können. Sie wird als Erweiterung für die Browser Chrome und Firefox angeboten. Da es nach dem Prinzip von Aufnahme und Wiedergabe funktioniert, ist es das Automatisierungswerkzeug der ersten Wahl für Personen, die keine oder nur begrenzte Erfahrung mit Programmiersprachen haben.
  2. Selenium RC – Selenium Remote Control (RC) wird offiziell durch Selenium ersetzt. Für die Automatisierung wurde früher Javascript-Code in den Browser eingefügt und ein zusätzlicher Server benötigt, um die Automatisierungsskripte auszuführen.
    Außerdem hatte es viele Einschränkungen, wie z.B. – es war langsam, es hatte keinen „headless“ Browser (konnte keinen Browser mit einem Hintergrundtest laufen lassen) wie HtmlUnitDriver, und es musste den Server starten, bevor die Testskripte ausgeführt wurden.
  3. Selenium WebDriver – der bei weitem wichtigste Teil der Selenium Suite. Es bietet verschiedene Treiber für verschiedene Browser und unterstützt mehrere Programmiersprachen.
    Es ist rein objektorientiert und unterstützt alle gängigen Browser – Chrome, Firefox, IE, Safari, etc. Die Skripterstellung kann in den meisten gängigen Sprachen erfolgen – Java, Python, Ruby usw.
  4. Selenium Grid – Selenium Grid ist ebenfalls ein wichtiger Teil der Selenium Suite. Es hilft bei der verteilten parallelen Ausführung von Selenium-Tests auf mehreren entfernten Rechnern.
    Es besteht aus einem sogenannten „Hub“ und mehreren Knotenpunkten. Selenium-Instanzen werden auf den Knoten ausgeführt, auf denen die Testfälle ausgeführt werden. Diese Knoten sind mit einem zentralen Knoten verbunden, der als Server fungiert und die gesamte Testausführung verwaltet.

Vorteile von Selen

Sehen wir uns nun einige der Vorteile von Selen an:

  1. Selenium ist quelloffen, es fallen keine Lizenzkosten für seine Nutzung an.
  2. Die Skripterstellung kann in den meisten verbreiteten Programmiersprachen wie Java, C#, Ruby und Python durchgeführt werden.
  3. Es bietet Plattformunterstützung für alle wichtigen Betriebssysteme – Windows, Linux, Mac OS und Solaris.
  4. Es unterstützt die meisten gängigen Browser wie Chrome, Firefox, Edge, Internet Explorer, Opera und Safari.
  5. Die Selenium-IDE-Komponente des Selenium-Pakets bietet Aufzeichnungs- und Wiedergabefunktionen, die auch von Personen ohne große Programmiererfahrung zum Schreiben von Automatisierungsskripten verwendet werden können.
  6. Selenium Grid hilft beim parallelen und verteilten Testen.

Selen-Beschränkungen

Einige der Einschränkungen von Selenium sind:

  1. Selenium bietet keine Unterstützung für die Automatisierung von Desktop-Anwendungen.
  2. Webdienste – REST oder SOAP können mit Selenium nicht automatisiert werden.
  3. Selenium WebDriver erfordert Anforderungen an die Programmiersprache, um ein Skript zu erstellen.
  4. Wir müssen uns auf externe Bibliotheken verlassen, um gängige Aufgaben für die Automatisierung auszuführen, z. B. die Protokollierung und das Lesen und Schreiben von externen Dateien.

Schauen wir uns nun die Selenium WebDriver Komponente etwas genauer an.

Was ist Selenium WebDriver?

Selenium Webdriver ist eines der am häufigsten verwendeten Tools zur Automatisierung von Webanwendungen. Es automatisiert Browser, indem es deren native Methode direkt aufruft, im Gegensatz zu Selenium RC, das Javascript-Code in Browser für Automatisierungszwecke einfügt. Aus diesem Grund ist Webdriver viel schneller als Selenium RC. Darüber hinaus kann Selenium WebDriver Szenarien wie Alarme, Pop-ups, Ajax-Anfragen, Tastatur- und Mausaktionen problemlos verarbeiten. Da Webdriver die Methoden der verschiedenen Browser direkt aufruft, haben wir für jeden Browser einen eigenen Treiber.

Schlussfolgerung

Damit ist unsere Einführung in Selenium und seine wichtigste Komponente, Selenium WebDriver, abgeschlossen. Im nächsten Tutorial dieser Selenium-Tutorial-Serie werden wir die Installation der Selenium WebDriver-Komponente behandeln.