Testautomatistools für Webanwendungen – Selenium

Testautomatisierung von Webanwendungen mit Selenium

In Teil 1 der Serie Testautomatisierungstools für End-2-End Tests von Webanwendungen schauen wir uns Selenium an. Selenium ist das meist eingesetzte Automatisierungstool für Webanwendungen. Wir schauen uns die Einsatzgebiete an,. Warum es für die agile Softwareentwicklung geeignet ist. Und welche Vorteile und Nachteile es bei der Implementierung von Testautomatisierungsframeworks mit Selenium gibt.

Einsatzgebiete von Selenium

Selenium wird angewendet für das automatisierte Testen von Webanwendungen. Selenium interagiert mit dem User Interface (UI) des Browsers und führt Aktionen mit den WebElement aus. Es wird meist für End-2-End Test eingesetzt. Selenium WebDriver welches in nächsten Teil vorgestellt wird, ist ein Application Programming Interface (API) welches mit allen gängigen Programmiersprachen (Java, C#, JavaScript, Python, Ruby, PHP, ect) eingesetzt werden kann. Es ist Open Source und somit fallen keine Kosten bei der Nutzung an.

Cross Plattform und Parallel Tests

Ein Großer vorteil von Selenium WebDriver ist, dass es auf allen gängigen Betriebssystemen ausführbar ist. Automatisierte Tests, die auf einem Windows Rechner implementiert wurden, können auf einem Linux oder Mac Rechner ausgeführt werden. Ebenso unterstützt Selenium WebDriver die ausführung der automatisierten Tests auf allen gängigen Browser (Chrome, Firefox, Internet Explorer, ect). Die automatisierten Tests lassen sich auch parallel ausführen, welches zu schnellem Feedback führt und gerade bei einer großen Anzahl von Tests einen großen Mehrwert bietet.

Integration in den agilen Softwareentwicklungsprozess

Durch die Möglichkeit Selenium in die Integration mit Behaviour Driven Development (BDD) mit Frameworks wie Cucumber … und die Möglichkeit die Tests durch die gängigen Continuous Integration Server (Jenkins, GitLab) auszuführen. Ermöglicht Selenium eine optimale Integration in die agilen Prozesse und Tool Landschaft. Die Implementierung eines Testautomatisierungsframeworks und der automatisierte Test lässt sich schon zum Teil ausführen bevor die Anwendung oder das Feature fertig implementiert ist.

Große Integration in Kommerzelle und Open Source Lösungen

Dadurch das Selenium das meist eingesetzte Automatisierungstool für Webanwendungen ist, gibt es eine große Anzahl an Services, die mit Selenium integriert werden können. Sei es Kommerzielle Anbieter oder Open Source Lösungen. Für das Visuelle Testen gibt es Anbieter wie Applitools oder als Open Source Lösung Galen. Es gibt mit SauceLabs und Perfecto Anbieter, die eine Infrastruktur zur Verfügung stellen. In denen die automatisierten Tests auf eine Vielzahl Browser Versionen und Plattformen remote ausführbar machen.

Programmierkenntnisse und nichts Out oft he Box

Um Wartungsfreundliche Testautomatisierungsframeworks in Selenium WebDriver zu implementieren, benötigt man fortgeschrittenen Programmierkenntnisse, welche zu einem hohen Zeitaufwand führen kann bei der Einarbeitung. Ein weiterer Nachteil von Selenium Webdriver gegenüber Kommerziellen Testautomatisierungstools ist, das man jeder weiteren Komponente, die man zu seine Testautomatisierungsframework hinzufügen will, wie beispielsweise Reports und Logging, in das Testautomatisierungsframework integriert werden muss. Die automatisierten Tests von Selenium werden über das User Interface (Browser) ausgeführt. Gerade die Benutzeroberfläche ändert sich im Softwareentwicklungsprozess oft, dies führt dazu, dass die Tests bei jeder Änderung angepasst werden müssen, welches jedoch auch für Kommerzielle Testautomatisierungstools gilt die über die Benutzeroberfläche automatisierte Tests ausführen.

Back to top
Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.