At enprovia we’ve been using Sikuli IDE for automated tests development, and we have implemented a number of new features into our test suite, e.g.:
- Taking screenshots when a test case fails
- Screen recording during test case runs – when a test case starts, desktop streaming is launched via VLC Media Player, which is called by a .bat file that is launched at the beginning of every test case. If a test case passes, the screen recording file is deleted, otherwise it is stored.
- Copying logs - logs from the tested application are copied and put into a .zip file when a test case fails. This is possible for any application that uses logs to log its activities.
- Test suite logging – detailed info about each test in a test suite run (name of the test, its number, if it passed or failed and if it failed then its stacktrace and the final sum up at the end of the log) is logged into a .txt file (functionality added by a program created in Java)
When the test suite is launched, a new timestamped folder is created, where the output from the test suite run (screenshots, screen recordings, logs from the tested app, test suite logs) is stored.
As an automated testing tool, Sikuli can be used to automate anything you see on the screen by using image recognition. It works by looking for screenshots on the screen - screenshots of small parts of the screen are created, and Sikuli then uses them to interact with components on the screen.
It is compatible with Windows, Mac OS X and Linux and comes in two flavors: Sikuli IDE (easier to use, the test scripts can be written using simple Sikuli commands, it fully supports Python language) and Sikuli Java API (can be integrated into Java when creating more robust test suite).