Cypress.io – ersetzt diese neue Automations-Engine Selenium?

Selenium hat viele Jahre das automatisierte Testen von Software geprägt. Doch die Kritik an dem Automations-Framework und den vermeintlichen Schwächen wird immer lauter. Unter anderem:

  1. Die Durchlaufzeiten können je nach Testset schnell in die Tage gehen.
  2. Selenium liefert Protokolle oder Screenshots der Bugs – unterstützt aber kein effizientes Debugging.
  3. Die Übergabe der Tests gestaltet sich oft schwierig. Vom Aufsetzen des Projekts bis hin zu lauffähigen Tests vergeht oft viel Zeit.

Es war also nur eine Frage der Zeit, bis Werkzeuge für das automatisierte Testen auftauchen, die diese Lücken füllen wollen.

Cypress.io als entwicklerfreundliches Automations-Tool

Eine dieser neuen Lösungen zur Testautomatisierung ist Cypress.io, das den Einsatz von Selenium überflüssig macht, indem Skripte, die Aktionen auslösen und Behauptungen machen, direkt in eine Seite injiziert werden. Cypress.io nutzt dafür die Leistungsfähigkeit von Browser-Tools für das Debugging und sichert schnellere Feedback-Loops.

Völlig Open Source – mit Ausnahme des Dashboards – ist Cypress reich an neuen Features und verspricht sich nahtlos an gängige und aktuelle Entwicklungs-Tools andocken zu lassen.

Cypress.io ist reich an Features und soll Testautomatisierung vereinfachen. Klick um zu Tweeten

Cypress-Tests werden auch mit Mocha und Chai geschrieben, sodass Syntax und Format den meisten Javascript-Entwicklern von Anfang an vertraut sein werden. Nach der Installation der Anwendung sollten die ersten Tests in ein paar Minuten lauffähig sein. Weitere Abhängigkeiten von Selenium, Webdriver, Node oder ähnlichem gibt es nicht.

Folgende Versprechen gibt Cypress.io:

  • Alle Befehle werden in Echtzeit ausgeführt.
  • Cypress lädt automatisch neu wenn Änderungen vorgenommen werden.
  • Das Testobjekt ist während der Durchführung immer sichtbar.
  • Das Debugging wird in die Entwickler-Tools des verwendeten Browsers integriert.
  • Die Handhabung komplizierter asynchroner Logik, zum Beispiel bei Single Page Applications, wird durch die Verwendung von Promises vereinfacht.
  • Cypress wartet automatisch auf Kommandos und Rückmeldungen beim Testing; die Einplanung von Wartezeiten ist nicht nötig.
  • Die Handhabung von AJAX/XHR ist denkbar einfach; mit der API können alle Aspekte der Anfragen kontrolliert werden.

Die Anwendung von Cypress.io in der Praxis

Noch warten wir in der TestPlus auf einen Beta-Zugang, um uns selbst ein Bild machen zu können. Greg Dorwand von red-badger.com hat Cypress.io jedoch vorab getestet und berichtet über seine Erfahrungen:

Er nutzte seinen Zugang, um eine Test-Suite zu schreiben, die die Red Badger Webseite überprüft. Nach einem Monat, so berichtet er, läuft die Anwendung immer noch fehlerfrei.

Die Tests laufen, wie von Cypress.io angekündigt, im Browser in Echtzeit ab: Wird also eine Behauptung geändert, liefert der Test – ähnlich einem Unit-Test – sofort Rückmeldungen. Dies erleichtert nicht nur das Debugging ungemein, sondern macht auch die Entwicklung neuer Tests weniger zeitaufwändig und frustfrei.

Testen und Debuggen in Echtzeit? Cypress.io soll's möglich machen. Klick um zu Tweeten

Greg Dorwand bestätigt auch, dass man, während die Anwendung läuft, vollen Zugriff auf die Entwickler-Tools hat und man so wiederum in Echtzeit debuggen kann – ohne unzählige Screenshots durchforsten zu müssen, um herauszufinden, wo der Test Fehler warf.

Auch Dr. Gleb Bahmutov konnte sich ein Bild von Cypress.io in der Anwendung machen und ist begeistert: Er spricht von einem “Testing Nirvana” und einem Tool, das bei der Konzeption endlich den Entwickler im Hinterkopf hatte. Er zeigt eindrücklich und mit Screenshots auf seiner eigenen Webseite die Vorteile auf.

Cypress.io als heiliger Gral des automatisierten Testings?

Doch kann Cypress.io alle unsere Probleme lösen? Wir sind gespannt! Wie Joseph Jung von Hackernoon schreibt: es kommt immer darauf an, was Entwickler und Teams wollen. Selenium unterstützt im Gegensatz zu Cypress.io alle gängigen Browser und geht zurück bis IE8 und ist auch bei Unit-Tests stark.

Wir freuen uns auf jeden Fall, dass sich bei den Automations-Tools etwas tut und hoffen, die Engine bald selber ausprobieren zu können.

About Sarah

    You May Also Like