Use OpenCV to create a GUI testing framework - replaces Sikuli, Xpresser
Why I'm doing this
In trying to create an application testing framework for the MOSAIC team at the University of North Carolina at Charlotte, I was very discouraged by what was currently offered.
Sikuli represented some great ideas, and the built-in IDE was great. Problem being, it crashed whenever I tried to create the first screenshot. Xpresser also looked like it could be great, but died pretty quickly too. Plus, neither of these programs ran on the Prominent North American Enterprise Linux Vendor's software platform.
As such, starting with a sample OpenCV program to recognize sub-images, I'm attempting to create a GUI testing framework that's more stable, no-questions-asked, simple, and otherwise just usable (specifically from BASH - don't make things more complicated than they need to be.)
How it works
OpenCV is used for image processing, and XTestExtension is used for driving X11. Reference implementations are given, and they are fairly full-featured.
Place the following content into a file named
[libcvautomation] name=Libcvautomation RPM repository baseurl=http://djbushido.github.com/libcvautomation/rpm enabled=1 gpgcheck=0
Place the following lines into your
#Libcvautomation Repository deb http://djbushido.github.com/libcvautomation/apt libcvautomation/ deb-src http://djbushido.github.com/libcvautomation/apt libcvautomation-source/
The tarball can be downloaded from the downloads page.
Once you have it, just
./configure; make; make install
Github hosts the documentation, and it can be found here
Where we're headed
At this point, pretty much everything is functionally done. Python bindings to make interfacing with the library simpler have been developed, and it should mostly be bugfixes from here out. If there are any suggestions, please let me know!
Get in contact
If you have a suggestion, comment, question, concern, or otherwise, feel free to email me at firstname.lastname@example.org. This product is developed with the community in mind, so if there's any feedback to be had I welcome it.