27. 06. 2013
Application Performance Monitoring: Al’exa vs. Sikuli
In this post I will provide a comparison between Sikuli and Al’exa. Sikuli is a visual technology to automate and test graphical user interfaces by comparing screenshot images. Al’exa, instead, is a computer vision system that allows to test and monitor the applications by simulating the human behavior.
- How does Sikuli work? Sikuli is a programming language, that allows to create software that can use Jython, a mix between Java and Python functions. Sikuli interacts with the desktop also by directly using the mouse and the keyboard. It integrates also a particular function of template matching to automate and test graphical user interfaces by using the screenshots. The template matching, however, has some issues. It is not so easy, in fact, to support a large number of screenshots unless they are not well structured. Also any change in the GUI or even modifications of the text labels will alter the screenshots.
- How does Al’exa work? Al’exa is a Python module that provides classes and methods to automate and test graphical user interfaces using computer vision. Al’exa uses template matching and other OpenCV functions. It is open source, so you can easily and independently modify his behavior. The computer vision engine of Al’exa is also more powerful than Sikuli as it integrates a lot of additional functions of the OpenCV framework. Therefore it is not needed to capture a screenshot of any control that you want to use. In this way Al’exa can automate and test almost all applications.
- Does Sikuli come with IDE? Yes, it does. The IDE helps to create and manage the test cases.
- Does Al’exa come with IDE? Yes, it does. The IDE helps to easily adopt all the features provided by Al’exa. Only three macro buttons are needed to create powerful test cases.
- Can Sikuli use OCR? Only the latest version of Sikuli can use OCR, however the developers are still working on OCR engine and there is not an exhaustive documentation about the OCR functions of Sikuli.
- Can Al’exa use OCR? Yes, the OCR engine of Al’exa is much more powerful than Sikuli, as you can use many filters that allows to use the OCR engine in almost any situation.
- Can I use Sikuli with Nagios? Sikuli doesn’t come with pre-built functions to interact with Nagios (or similar products). However Sikuli is a scripting language, so it is possible to create functions to measure the performance and send them to Nagios.
- Can I use Al’exa with Nagios? Al’exa allows to measure the performance of your applications and send the data to a Nagios server. Al’exa provides all the necessary methods to easily measure the performance of the user interfaces and send them to Nagios. The main purpose of Al’exa, is , in fact, the measurement of the performance of those applications that cannot otherwise be tested by the conventional monitoring systems.
- Does Sikuli log its activities? Some Python functions can be used to print the information that are needed or save them into a text file.
- Does Al’exa log its activities? Yes it does. Al’exa comes with pre-built functions to save into text files all its activities and store also the frame of the video that it records to interact with the desktop. In this way you can see all the filters that Al’exa applies to the images to recognize the application objects. Moreover, if an application has some problem Al’exa can send by e-mail a screenshot of the desktop or the application window.
If you need more details about this analysis you can contact me through the blog.
Latest posts by Alan Pipitone