Containerized End2End Testing
+
, Tobias Schneck ConSol Software GmbH
Characteristics of End2End Testing
Different types of testing:Regression testsFunctional approval tests
Parallel tests with GUIs are complexStateful tests: user logins, sessions, historySetup and cleanup of test data
Manual effort > effort for test automation
Manual effort > effort for test automation
Advantages of Container Technology
Isolation of environmentsRepository for versioning and distributionReproducible application environmentDockerfile, dockercompose.yml
Starting containers ontheflyOptimized for parallel executionLess memory overheadShared Linux kernel
Containerized GUIs### start the docker container via xforwarding docker run it e DISPLAY=$DISPLAY v /tmp/.X11unix:/tmp/.X11unix:rw rasch/inkscape
### start the docker container with VNC interface # connect via URL: http://localhost:6911/vnc_auto.html?password=vncpassword docker run it p 5911:5901 p 6911:6901 consol/centosxfcevnc docker run it p 5912:5901 p 6912:6901 consol/ubuntuxfcevnc
What's provided by ?
CategoryWeb tests through HTML selectors
Restricted to browser content
Open Source & Java API
Headless execution
Test writing assistance(recorder, screenshot finder)
Automatable / Test result reporting(CI, DB, monitoring environment)
Nagios OMD Incinga
Monitoring Integration
Demo Sakuli Container# start the docker container docker run it p 5911:5901 p 6911:6901 consol/sakulicentosxfce docker run it p 5912:5901 p 6912:6901 consol/sakuliubuntuxfce
# start in parallel via dockercompose # use dockercompos.yml from https://github.com/ConSol/sakuli/tree/master/docker dockercompose up
Bakery Demogit clone https://github.com/toschneck/sakuliexamplebakerytesting.git
# start jenkins jenkins/deploy_jenkins.sh # start OMD montioring omdnagios/deploy_omd.sh
# start the build of the application images bakeryapp/appdeploymentdockercompose/deploy_app.sh
#start tests sakulitests/execute_all.sh #start tests for monitoring sakulitests/execute_all_4_monitoring.sh
What's next?
Headless execution Linux: VNC & Docker Windows: ?Video recording of the test execution (error documentation)Web UI to handle Sakuli test suitesConnect 3rdparty test management tools (HP QC, TestRail, ...)Improve test result presentation in CI toolsSelenium as an alternative to Sahi
Links
https://github.com/ConSol/sakuli https://github.com/toschneck/sakuliexamplebakerytesting
https://twitter.com/sakuli_e2ehttps://twitter.com/consol_de
Thank you Hamburg!
Tobias Schneck
ConSol Software GmbHFranziskanerstraße 38D81669 MünchenTel: +498945841100Fax: +498945841111