2. Agenda
www.consol.de
• definition of "E2E" monitoring / differentiation
• motivation
• functionality of Sahi & Sikuli => synergy in Sakuli
• Demo I: Sakuli on Win7
Ø functionality test
Ø anatomy of a Sakuli script
Ø how to "record" steps
Ø connecting to the Icinga2 API
• Demo II: Sakuli on Docker
• Video: a Sakuli test on a web store
• performance graphs
3. "E2E": definition / differentiation
www.consol.de
• test applications from the user's perspective
– functionality (application internal)
– performance (loading times etc)
• testing environment at least similar to real environment
• excellent addition to conventional monitoring
E2E does not mean...
• load testing
• replacing common monitoring
4. motivation
www.consol.de
• founded in February 2014
• goals:
– combine two Open Source automation tools1) into one
– modular interfaces to receiving systems
– platform independent (Linux/Windows)
• Open Source (Apache)
1) http://en.wikipedia.org/wiki/List_of_GUI_testing_tools
5. component 1: Sahi
www.consol.de
method based DOM access:
_assertContainsText("Logged in as: T_NAGIOS_APP", _div(4));
_click(_span("Loaded Run Ids"));
_assertExists(_table("cross_table_fixed"));
localhost:9999
Webserver
<table>
<tbody>
<tr>
<td>Alice</td>
<td>Bob</td>
</tr>
</tbody>
</table>
{js}
Web testing tool (http://sahi.co.in)
7. comparison: Sahi & Sikuli
• universal, complete screen content
• more resource-intensive
• always needs clear view
• limited to pure web,
(no Flash, Java applets...)
• fast
• efficient to write, included
recorder
Sikuli Sahi
8. synergy with Sakuli
www.consol.de
• allows to use both tools within one test
• step-by-step code (JavaScript)
• screenshot on failure
• headless tests: xvnc & docker
• "forwarder" module concept:
– monitoring systems (Nagios, Icinga, ...)
– logging systems (Splunk, Logstash, ...)
– CI systems (Jenkins...)
– databases (MySQL/MariaDB, ...)
– [-?-]
9. Demo I (Windows7)
www.consol.de
• functionality test
• anatomy of a Sakuli script
• how to "record" steps
• connecting to the Icinga2 API
11. Demo II: Sakuli in a Docker container
www.consol.de
• Container lifetime
– normally for only one test
– for demonstration, Sakuli runs with "-loop 10"
• Results are sent to a Naemon instance running in OMD inside Docker
• screenshot on error
12. Video: a Sakuli test on a web store
www.consol.de
• login
• empty basket
• order items
• print order summary into pdf
• check pdf