Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Sakuli 
End2End-Monitoring 
Simon Meggle 
21.05.2014
AGENDA 
• Begriff "End2End-Monitoring" 
• die Situation und ihre Herausforderung 
• Funktionsweise von Sahi/Sikuli 
• Die ...
Begriff "End2End-Monitoring" 
• Business-kritische Applikationen bestehen oft aus einer Vielzahl an Komponenten 
• Applika...
die Situation und ihre Herausforderung 
• viele frei verfügbare E2E-Tools 
• Grenzen 
• zu speziell 
• Betriebssystem-spez...
Funktionsweise von Sahi 
• Was ist/kann Sahi? 
ü entwickelt von Narayan Raman (Indien) 
ü „Web Automation and Testing To...
Funktionsweise von Sahi 
• Sahi wird als Proxy zwischen Browser und Server geschaltet 
• Aufzeichnung aller weitergeleitet...
Situation und Herausforderung 
21.05.2014 www.consol.de 
7 
• viele frei verfügbare E2E-Tools 
• Grenzen 
• zu speziell (B...
Funktionsweise von Sikuli 
• Sikuli kann alles sehen und steuern, was der User sieht und mit Maus und Tastatur 
21.05.2014...
Die Tools und ihre Stärken im Vergleich 
1) 
3) 2) 
4) 
21.05.2014 www.consol.de 
9 
100% Web 
Web & "off-web" 
GUI-Tests ...
Die Tools und ihre Stärken im Vergleich 
1) 
3) 2) 
4) 
Sakuli 
21.05.2014 www.consol.de 
10 
100% Web 
Web & "off-web" 
G...
Aus zwei mach eins: Sakuli = Sahi + Sikuli 
"off-web" "web" 
API 
API 
21.05.2014 www.consol.de 
11 
Test 
Case 
SAKULI 
•...
Architektur von Sakuli 
"off-web" "web" 
API 
API 
Test 
Case 
SAKULI 
MySQL Result DB" 
OMD! Sakuli Client! 
21.05.2014 1...
Live-Demo 
• Aufbau von Sakuli-Scripts 
• Testcase: eShop: Bestellung + Bestellbestätigung drucken 
• Zusammenspiel von Sa...
Ausblick: weitere geplante Features 
21.05.2014 www.consol.de 
14 
• Headless Execution 
• Linux: xvfb 
• Windows: ? 
• Au...
Ausblick: Queue-basierte Architektur (Release 2) 
21.05.2014 www.consol.de 
15 
Scheduler 
Server/Scheduler 
• mit Web-Obe...
Ausblick: Queue-basierte Architektur (Release 2) 
21.05.2014 www.consol.de 
16 
Scheduler 
Q1" Q2" Q3" Q4" 
Worker 
1 
Wor...
Ausblick: Queue-basierte Architektur (Release 2) 
21.05.2014 www.consol.de 
17 
Scheduler 
Q1" Q2" Q3" Q4" 
Worker 
1 
Wor...
Ausblick: Queue-basierte Architektur (Release 2) 
21.05.2014 www.consol.de 
18 
Scheduler 
Q1" Q2" Q3" Q4" 
Worker 
1 
Wor...
Download 
https://github.com/ConSol/sakuli 
21.05.2014 www.consol.de 
19
Vielen Dank für die Aufmerksamkeit! 
Q&A 
21.05.2014 20 www.consol.de
Nächste SlideShare
Wird geladen in …5
×

20140520sakulimmws 140701044739-phpapp02

390 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

20140520sakulimmws 140701044739-phpapp02

  1. 1. Sakuli End2End-Monitoring Simon Meggle 21.05.2014
  2. 2. AGENDA • Begriff "End2End-Monitoring" • die Situation und ihre Herausforderung • Funktionsweise von Sahi/Sikuli • Die Tools und ihre Stärken im Vergleich • Aus zwei mach eins: Sakuli = Sahi + Sikuli • Architektur von Sakuli • Live-Demos • Ausblick • geplante Features • Queue-basierte Architektur (Release 2) • Download 21.05.2014 2 www.consol.de
  3. 3. Begriff "End2End-Monitoring" • Business-kritische Applikationen bestehen oft aus einer Vielzahl an Komponenten • Applikations-Qualität nur am Ende der Funktionskette messbar => Monitoring aus Sicht des Anwenders durch User-Simulation 21.05.2014 www.consol.de 3
  4. 4. die Situation und ihre Herausforderung • viele frei verfügbare E2E-Tools • Grenzen • zu speziell • Betriebssystem-spezifisch • zu generisch • zu wenig an der Realität • Bisher: Sahi2OMD (vorgestellt auf der OSMC 2013) 21.05.2014 www.consol.de 4 ?
  5. 5. Funktionsweise von Sahi • Was ist/kann Sahi? ü entwickelt von Narayan Raman (Indien) ü „Web Automation and Testing Tool“ -> Tool zur Simulation von User-Aktion im Webbrowser ü AJAX, Frames, iFrames, Up/Downloads, Browser alerts, NTLM Auth, HTTPS… ü leistungsfähige Funktionen, wie z.B.: ü intelligente Objekt-Adressierung auch über Frames/iFrames hinweg (kein XPath) ü Funktionen für File/DB-Zugriff ü Batch Mode & Multi-Threaded Playback ü Sahi erkennt selbst, wenn Seiten/AJAX-Requests fertig geladen sind. ü Java-API ü Sahi läuft auf jedem OS mit Java (z.B. auch iOS, Android…) in jedem Browser (ohne Plugin) ü Open Source • Was ist/kann Sahi nicht? - alles, was außerhalb des DOMs liegt (z.B. Flash-Inhalte, Java-Applets) - Tests außerhalb des Browserinhaltes http://sahi.co.in/ 21.05.2014 5 www.consol.de
  6. 6. Funktionsweise von Sahi • Sahi wird als Proxy zwischen Browser und Server geschaltet • Aufzeichnung aller weitergeleiteten Requests in SahiScript • Wiedergabe durch Injizieren der SahiScripts in den Browser Browser Sahi-Prozess localhost:9999 Sahi Test-Host Webserver HTTP Request/Response Testcase 21.05.2014 6 www.consol.de
  7. 7. Situation und Herausforderung 21.05.2014 www.consol.de 7 • viele frei verfügbare E2E-Tools • Grenzen • zu speziell (Bsp. PIN-Abfrage in Webbrowser) • abhängig vom Betriebssystem • zu generisch • zu wenig an der Realität (Bsp. Test auf Protokoll-Ebene) • Bisher: Sahi2OMD (OSMC 2013) • End2End Web-Tests • Hürden • Browserdialoge • Java-Applets, Flash, ... • Kundenwunsch: GUI-Monitoring Herausforderung: Kompensation der Schwachstellen von Sahi durch zweites Tool
  8. 8. Funktionsweise von Sikuli • Sikuli kann alles sehen und steuern, was der User sieht und mit Maus und Tastatur 21.05.2014 www.consol.de 8 steuern kann • Kern-Komponenten: • java.awt.Robot zur Steuerung von Maus/Tastaturevents • OpenCV Engine zur Erkennung von Bildmustern • Screenshots werden auf dem Bildschirm lokalisiert => Region • Region-Objekte erlauben Aktionen wie click(), type(), etc... • Texterkennung (OCR), experimental • auf jeder Plattform verfügbar • Open Source (MIT)
  9. 9. Die Tools und ihre Stärken im Vergleich 1) 3) 2) 4) 21.05.2014 www.consol.de 9 100% Web Web & "off-web" GUI-Tests (off-Browser content) 1) theoretisch möglich; im Vergleich zu Sahi jedoch viel zu aufwändig (und Unsinn!) 2) nicht möglich; Java, Flash, PIN-Dialoge etc. sind für Sahi nicht "sichtbar", da keine Web-Inhalte 3) theoretisch möglich (siehe 1); bestenfalls jedoch "Notlösung" 4) Sahi kennt nur den Content des Browser-Canvas (den aber gut...)
  10. 10. Die Tools und ihre Stärken im Vergleich 1) 3) 2) 4) Sakuli 21.05.2014 www.consol.de 10 100% Web Web & "off-web" GUI-Tests (off-Browser content) 1) theoretisch möglich; im Vergleich zu Sahi jedoch viel zu aufwändig (und Unsinn!) 2) nicht möglich; Java, Flash, PIN-Dialoge etc. sind für Sahi nicht "sichtbar", da keine Web-Inhalte 3) theoretisch möglich (siehe 1); bestenfalls jedoch "Notlösung" 4) Sahi kennt nur den Content des Browser-Canvas (den aber gut...)
  11. 11. Aus zwei mach eins: Sakuli = Sahi + Sikuli "off-web" "web" API API 21.05.2014 www.consol.de 11 Test Case SAKULI • entstanden 2013 aus "sahi2OMD" (-> OSMC 2012)" => Gewinnung von SIEMENS als POC-Sponsor! • Java-Architektur: Steuern von Sahi und Sikuli über deren Java-API" • Kapselung der Funktionsaufrufe beider Tools in JavaScript" • einheitliche Handhabung" • Erweiterung bestehender Funktionen" • seamless integration: Sahi- und Sikuli- Funktionen sind im Test beliebig mischbar" • Sakuli stellt alle Backend-Funktionen bereit (Initialisierung, Zugriff auf die Result-DB, Erstellen von Screenshots bei Exceptions, Logging, ...) " • Test-Cases in JavaScript-Syntax: Keine Java- Kenntnisse zur Test-Erstellung erforderlich"
  12. 12. Architektur von Sakuli "off-web" "web" API API Test Case SAKULI MySQL Result DB" OMD! Sakuli Client! 21.05.2014 12 www.consol.de
  13. 13. Live-Demo • Aufbau von Sakuli-Scripts • Testcase: eShop: Bestellung + Bestellbestätigung drucken • Zusammenspiel von Sahi und Sikuli • check_mysql_health – Custom "Sakuli" Mode • Performancedaten – Custom PNP4Nagios Template • wenns kracht... 21.05.2014 www.consol.de 13 • Sakuli "from scratch"
  14. 14. Ausblick: weitere geplante Features 21.05.2014 www.consol.de 14 • Headless Execution • Linux: xvfb • Windows: ? • Aufzeichnung der Testabläufe als Film • Fehlerdokumentation • Debugging • Multi-Wait • Sakuli als Integration Test Tool • [Dein Vorschlag]
  15. 15. Ausblick: Queue-basierte Architektur (Release 2) 21.05.2014 www.consol.de 15 Scheduler Server/Scheduler • mit Web-Oberfläche zur Verwaltung incl. JavaScript-Editor • stellt Queues (gruppiert nach OS, Browser o.ä.) • legt Test-Jobs in die entspr. Queues • Test-Jobs enthalten alle zur Ausführung notwendigen Dateien
  16. 16. Ausblick: Queue-basierte Architektur (Release 2) 21.05.2014 www.consol.de 16 Scheduler Q1" Q2" Q3" Q4" Worker 1 Worker 2 Worker 3 Worker • ist in einer/mehreren Queue(s) registriert • entnimmt Job aus der Queue und führt ihn aus • speichert das Ergebnis in einer Result-Queue Results" Worker 4
  17. 17. Ausblick: Queue-basierte Architektur (Release 2) 21.05.2014 www.consol.de 17 Scheduler Q1" Q2" Q3" Q4" Worker 1 Worker 2 Worker 3 Server/Scheduler • liest die Result-Queue und speichert die Ergebnisse in der DB / sendet sie per GearmanD OMD • prüft Result-Datenbank mit check_mysql_health (Sakuli-Mode) Results" Worker 4
  18. 18. Ausblick: Queue-basierte Architektur (Release 2) 21.05.2014 www.consol.de 18 Scheduler Q1" Q2" Q3" Q4" Worker 1 Worker 2 Worker 3 ü Lastverteilung ü Erhöhung der Ausfallsicherheit ü System "balanciert" sich selbst aus ü Clients können zur Wartung inaktiv geschalten werden, die Messungen verteilen sich auf andere Nodes ü einfache Skalierung durch Hinzufügen von Workern ü Integration des Sakuli-Schedulers in OMD Results" Worker 4
  19. 19. Download https://github.com/ConSol/sakuli 21.05.2014 www.consol.de 19
  20. 20. Vielen Dank für die Aufmerksamkeit! Q&A 21.05.2014 20 www.consol.de

×