Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Wir unternehmen IT.
E2E-Monitoring mit
Simon Meggle
Sakuli im Überblick
• gegründet 2/2014
• Plattform-unabhängiges Framework für End2End-Tests = Permanente Simulation von Anwenderaktionen zur Messung der Applikationsgüte
• Motivation:
– Kombination verschiedener Automations-Werkzeuge1)
– Schnittstellen zu Drittsystemen (z.B. Nagios, Jenkins, Logstash, ...)
• Open Source (Apache-Lizenz) 2)
www.consol.de
1) http://en.wikipedia.org/wiki/List_of_GUI_testing_tools
2) https://github.com/ConSol/sakuli
Sahi und Sikuli – unterschiedliche Ansätze
www.consol.de
<table> <tbody> <tr> <td>Alice</td> <td>Bob</td> </tr> </tbody> <a href="www.foo.de">foo</a> </table>
Bildmuster-Erkennung è Aktionen auf "Regions"
Web-Test, DOM-basiert è Accessor-Funktionen
Sahi und Sikuli – Stärken und Schwächen
www.consol.de
• Web-Tests • DOM-basiert
Bildmuster-Erkennung • universell, da kompletter
Bildschirm
Web-Test, DOM-basiert • sehr leistungsfähig • beschränkt auf (pures) Web, (kein Flash, Java-Applets...)
Sahi & Sikuli = Sakuli
www.consol.de
• erlaubt den Einsatz beider Tools innerhalb eines Testcases
• Step-by-Step Code (JavaScript 1) )
• Screenshots im Fehlerfall
• Headless Tests, Docker-ready
• "Forwarder" behandeln die Ergebnisse:
– Monitoring-Systeme (Nagios, Icinga, ...)
– Logging-Systeme (z.B. Logstash)
– CI-Umgebungen (z.B. Jenkins)
– [-?-]
1) Per Java-DSL auch
1) per Java-DSL auch pure Java möglich
Was ist Sakuli nicht?
www.consol.de
• Lasttest-Tool
1) Per Java-DSL auch
Was ist Sakuli nicht?
www.consol.de
• Lasttest-Tool
• Echtzeit-Monitoring
1) Per Java-DSL auch
Was ist Sakuli nicht?
www.consol.de
• Lasttest-Tool
• Echtzeit-Monitoring
• [ ] [clickclickclick] [ ] "guckmal, Chef!"
1) Per Java-DSL auch
www.consol.de
DEMO
Test eines Webshop-Systems: • Login • Warenkorb löschen • bestellen • Bestellbestätigung als PDF drucken
(Sahi / Sikuli)
Codegerüst
www.consol.de
Initialisierung: • include • TestCase-Objekt mit Laufzeit-
Thresholds • screen-Objekt für Sikuli-Methoden
try-catch-finally: • try: Script-Code mit Sahi-/Sikuli-
Methoden
• catch: fängt Fehler ab (u.a. Screenshot-Erstellung)
• finally: Verarbeiten des Ergebnisses durch Forwarder-Module
Codebeispiel: Sahi
www.consol.de
Codebeispiel: Sikuli
www.consol.de
print2file.png
sakuli_test.png
print.png
Performancedaten in Nagios
www.consol.de
Fernziel
www.consol.de
Scheduler
Q1 Q2 Q3 Q4
Worker 1
Worker 2
Worker 3
Results
Worker 4
Join us!
www.consol.de
https://github.com/ConSol/sakuli
http://www.sakuli.org
https://twitter.com/sakuli_e2e
www.consol.de
Fragen?
www.consol.de
Vielen Dank!
www.consol.de
ConSol* Software GmbH
Franziskanerstraße 38 D-81669 München
Tel: +49-89-45841-100 Fax: +49-89-45841-111
[email protected] www.consol.de