Go to file
2012-06-27 10:28:42 -04:00
examples Change behavior of cva-input to rely on getopt for what to do 2012-06-27 10:28:42 -04:00
include/libcvautomation Flesh out the cva-input program, and add calls to XFlush() 2012-06-26 16:43:27 -04:00
libcvautomation Flesh out the cva-input program, and add calls to XFlush() 2012-06-26 16:43:27 -04:00
scripts Add functions to return the center of a sub-image, rather than top-left corner 2012-06-22 15:38:41 -04:00
.gitignore CVAM: Initial detection program 2012-06-20 16:57:03 -04:00
autogen.sh Fix a minor ordering issue with autogen 2012-06-23 00:39:22 -04:00
configure.ac Add basic XTest functionality, clean up and refactor other sources 2012-06-26 16:43:15 -04:00
Makefile.am Formalize the build process and integrate autotools 2012-06-22 13:22:16 -04:00
README.md Update the README 2012-06-26 16:43:03 -04:00
TODO.md Add the global TODO file 2012-06-26 16:43:06 -04:00

libcvautomation

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. I'll be looking into XInput2 eventually, but the focus is on getting something stable out the door first.

Where we're headed

Image recognition and basic X automation are done. From here, code more advanced X automations (ex. Giving the library a string of text to enter, rather than just a character at a time), and clean up the code.

After the basic functionality is done (Image recognition and automation) I'll develop python bindings to make interfacing with the library simpler. 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 bspeice@uncc.edu. This product is developed with the community in mind, so if there's any feedback to be had I welcome it.