Sakuli: Ein Tool für End-to-End-Monitoring und für automatisierte GUI-Tests

  • Möchten Sie sicherstellen, dass Ihre Applikationen auf Anwenderseite stets zuverlässig und performant funktionieren?
  • Oder wollen Sie automatisierte GUI-Tests in Continuous-Integration-Umgebungen durchführen?

Unsere Lösung für beides: Sakuli.

Das von ConSol entwickelte Test-Framework simuliert Benutzeraktionen auf grafischen Oberflächen, wertet deren Inhalte aus, misst die Ausführungszeiten und ermöglicht die Weiterleitung der Ergebnisse an (Monitoring-)Systeme wie Nagios oder Icinga bzw. an Continous-Integration Umgebungen wie Jenkins. Sakuli kombiniert zwei leistungsfähige und etablierte Open-Source-Tools, die auf komplett verschiedenen Techniken basieren:

  • Sahi ist die erste Wahl für Webinhalte, die es anhand des DOM identifiziert, bedient und verarbeitet.
  • Sikuli lokalisiert Bildmuster auf der Anzeige und findet sich so in jeder Applikation zurecht.

Sakuli ist mehr als die Summe seiner Teile:
Wo eines der beiden Programme an seine natürlichen Grenzen stößt, übernimmt einfach das andere. In Sakuli summieren sich die Vorteile beider Tools, die Schwächen jedes einzelnen werden umgangen. Details finden Sie im Sakuli-Flyer.

Kontakt zu ConSol*

Die Stärken von Sakuli:

  • End-to-End-Monitoring für Applikationen: Ein Werkzeug für universelles Monitoring der Anwendungsschicht: Ob Web, Fat-Client (z.B. SAP) oder "von beidem etwas" (z.B. Citrix): mit Sakuli ist stets das richtige Tool zur Hand, auch im Mischbetrieb.
  • Automatisierung von GUI-Tests: Webbasierte Browsertests und GUI-Tests für Rich-Clients mit Anbindung an Continous-Integration-Umgebungen: mit der Sakuli-Testautomatisierung lässt sich der manuelle Testaufwand erheblich verringern.
  • Ein Tool für alle Plattformen: Sakuli-Tests laufen auf Windows- und Linux-Betriebssystemen.
  • Sakuli-Tests in Docker-Containern sind frei von eventuellen Störfaktoren und Altlasten des darunter liegenden Betriebssystems, weil sie stets mit identischen Voraussetzungen starten (d.h. ohne gecachte Browser-Inhalte, Tests blockierende OS-Updates oder ähnlichem). Einer horizontalen Skalierung des E2E-Setups sind mit Docker keine Grenzen gesetzt; die Ressourcentrennung der Container-Technologie isoliert die Instanzen voneinander und erlaubt deren parallele Ausführung.
  • Modularität: Sakuli-Ergebnisse lassen sich mittels sog. "Forwarder"-Module in beliebige Drittsysteme wie z.B. Nagios, Icinga2, Datenbanken (MySQL) oder Check_MK (in Planung) integrieren.
  • Open Source: Sakuli ist - genau wie seine Bestandteile - frei erhältlich.
    Zum Sakuli-Download auf GitHub

Sakuli in Aktion: Kurzfilme & Bewegtbilder

  • Installation: Der grafische Installer vereinfacht die Installation eines Sakuli-Clients deutlich. Am Ende der Installation können alle Parameter in einem XML-File gespeichert werden; folgende Installationen lassen sich damit parametrisieren und damit headless ausführen.
  • Screenshot-History: Screenshots von Applikations-Fehlern können im Webinterface Thruk komfortabel durchgeblättert werden.

Sakuli-Anwendungsbeispiele - für frühzeitiges Erkennen von Störungen & Software-Fehlern:

Reagieren die Citrix-Anwendungen in den Niederlassungen genauso zügig wie in der Zentrale?

  • Sakuli loggt sich von allen Standorten aus kontinuierlich in Citrix-Applikationen ein. Beim Überschreiten der erlaubten Laufzeiten von Checks und/oder deren Teilschritten alarmiert Nagios; die historischen Messdaten werden in Graphen ansprechend aufbereitet, um Veränderungen der Applikationsperformance ablesen zu können.

Sind die wichtigsten Funktionen im Webshop und im Warenwirtschaftssystem in Ordnung?

  • Sakuli loggt sich mit einem Testuser im Webshop ein, prüft den Bestellvorgang mittels Artikelsuche und Warenkorb-Funktion, ändert Bestandsdaten u.v.m.
  • Sakuli prüft das Vorhandensein des über den Webshop erzeugten Auftrags im Warenwirtschaftssystem und stellt die Weiterverarbeitung dort sicher
  • Projektbeispiel: M-net order processing

Sind die Zahlen im Tagesreport von SAP NetWeaver aktuell?

  • Sakuli ruft selbständig SAP-Reports ab, überwacht deren Ausführungszeit sowie die Aktualität ihrer Inhalte.

Wie zuverlässig liefert der SaaS-Dienstleister?

  • Sakuli prüft die Verfügbarkeit und Funktion von Services, die mit Monitoring-Schnittstellen geizen und/oder deren Infrastrukturen außerhalb des eigenen Hoheitsbereiches liegen.

Wie steht es um Funktion und Performance von internen Webapplikationen?

  • Die Kommunalverwaltung einer deutschen Großstadt überwacht mit Sakuli die komplette interne Web-Anwendungslandschaft; die Ergebnisse werden an das Nagios-Monitoring gemeldet und dort visualisiert.
  • Dank Container-Technologie kann der "plan-build-run"-Zyklus auch für E2E-Tests über Teamgrenzen abgebildet werden. Mit Docker skaliert das E2E-Setup horizontal, nutzt Hardware-Ressourcen optimal aus und wächst mit den Anforderungen.