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.
Choosing the right backup solution is critical for system administrators and IT professionals. The upcoming NetEye 4.41 version will bring an update to MariaDB, moving from version 10.3 to 10.11. This makes it especially timely to explore the opportunities offered Read More
In NetEye environments we use Tornado to collect events, elaborate on them, and send notifications based on them from a lot of sources (syslog, email, SNMP traps and so on). In this article I'd like to suggest a different use Read More
As technology continually evolves, keeping our software stack up to date is essential for performance, security, and access to new functionalities. In this post, I want to share how we upgraded MariaDB from version 10.3 to 10.11 as part of Read More
In some test or development environments, you may need to simulate the presence of GSM modems without having an actual physical device. This can be useful for example when testing monitoring checks, SMS management systems, or creating new notification rules. Read More
Just like last year, we had the wonderful opportunity to attend FOSDEM, the most important open source conference in Europe. This year was no exception, and among the many exciting talks, one that particularly caught my attention was Alex Stefanini’s Read More