Skip to main content
swissICT Booster  |  M&F Academy  |  M&F Events   |  +41 44 747 44 44  | 
3 Minuten Lesezeit (504 Worte)

Automatisiertes Testen mit Selenium

Moderne Webseiten enthalten viel Funktionalität und kommen auf den unterschiedlichsten Browser und Plattformen zum Einsatz. Es ist daher unerlässlich, dass eine solche Seite getestet werden muss. Doch wie testet man überhaupt eine Webseite? Und wie kann man sicherstellen, dass sich diese getestet Logik auch auf anderen Browsern oder Plattformen gleich verhält?

 Selenium: Verbindung Test zu Browser

Vor diesen Problemen bin ich vor einiger Zeit gestanden. Bei der zu testenden Seite hat es sich um eine dynamische Webseite gehandelt, welche auf verschiedensten Browsern und auch auf Mobile-Plattformen funktionieren musste. Da sich die Seite in Entwicklung befand, musste eine Lösung her, die ein automatisiertes wiederholbares Testen von verschiedenen Abläufen erlaubt.

Und genau hier kommt das Framework Selenium ins Spiel. Das Herzstück dieses Frameworks ist seine Fähigkeit, die gängigsten Browser zu automatisieren. Diese Fähigkeit kann dann dazu genutzt werden, beliebige Abläufe nach zu spielen und währenddessen zu testen, ob sich die Seite wie gewünscht verhält. Schauen wir uns das mal im Detail genauer an.

 

Selenium

Selenium besteht aus drei verschiedenen Komponenten:

Selenium WebDriverSelenium WebDriver

Diese erste Komponente ist gleichzeitig auch die wichtigste. Es ist die Schnittstelle zwischen den automatisierten Testabläufen und den verschiedenen Browsern.

Übersicht Selenium WebDriver 

So wird es möglich, dass man gängige Abläufe auf der Webseite automatisieren und testen kann. Beispielsweise kann es Sinn machen, dass man bei einem Webshop den Zahlungsprozess als Ablauf in einer der unterstützten Sprachen (z.B. Java) programmiert und so bei jeder Änderung erneut testen kann.

Selenium GridSelenium Grid

Einfach ausgedrückt dient Selenium Grid dazu, beliebige Tests auf verschiedenen Plattformen und Browsern auszuführen. Ab einer gewissen Grösse und Komplexität kann es sinnvoll werden, dass man die Selenium Webdriver Tests nicht mehr auf dem eigenen Rechner ausführt, sondern stattdessen auf einem Zielsystem, dass die gewünschten Test-Eigenschaften besitzt.

Selenium Grid besteht aus einem zentralen Knoten, dem sogenannten Hub. An diesen Hub können verschiedene Systeme (sog. Nodes) angeschlossen werden.

Selenium Hub 

Möchten nun ein Entwickler seine Tests auf einem bestimmten Browser in einer Linux-Umgebung ausführen, kann er seine Tests an den Hub schicken. Dieser leitet die Tests dann weiter auf ein System, dass die gewünschten Eigenschaften besitzt. Nach Abschluss der Tests leitet der Hub dann die Resultate wieder zurück an den Entwickler, der die Tests in Auftrag gegeben hatte.

Selenium IDESelenium IDE

Diese Komponente ist ein Addon für den Browser Firefox und ermöglicht es, einfache Tests direkt im Browser zu erstellen und auch dort auszuführen. Man kann Abläufe auch in eine unterstütze Sprache exportieren. Meine Erfahrungen haben gezeigt, dass es noch nützlich sein kann, gewisse Abläufe so auszuprobieren. Jedoch stösst diese Komponente sehr schnell an ihre Grenzen, sobald eine gewisse Komplexität erreicht worden ist. Ab diesem Zeitpunkt lohnt es sich dann, auf Selenium Webdriver umzusteigen. Falls man dabei den Ablauf als Code exportiert, so ist eine gewisse Vorsicht geboten, da es sich dabei um automatisch generierten Code handelt, welcher nicht über alle Zweifel erhaben ist. Mein Tipp ist es, diesen Code im Nachhinein nochmal stark zu überarbeiten.

 

Zusammenfassung

Selenium WebDriverSelenium WebDriver

  • Herzstück von Selenium
  • Testentwicklung und -automatisierung
  • Unterstützung von vielen Programmiersprachen

Selenium GridSelenium Grid

  • Parallele Testdurchführung
  • Verteilung der Tests auf verschiedene Zielsysteme

Selenium IDESelenium IDE

  • Firefox Plugin
  • Einfache Testerstellung
  • Exportmöglichkeiten
0
Data Science in der Industrie 4.0
Unsere zwei neuen Trainees im Interview

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Mittwoch, 15. Mai 2024

Sicherheitscode (Captcha)