Use OpenCV to create a GUI testing framework - replaces Sikuli, Xpresser
C Python Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
debian Update build dependencies for Python Aug 28, 2012
docs Add initial libcvautomation_funcs.py and documentation Aug 14, 2012
examples Fix libmath and X11 libs not being linked Jun 10, 2013
include Update other documentation to reflect the new Python wrapper Aug 17, 2012
libcvautomation Fixed coding standard Jul 25, 2013
m4 Add the python build into Automake to make it portable Aug 14, 2012
python Fix up the Python frame tracing, and make it more portable Aug 23, 2012
rpm Fix up the specfile to build on 32-bit Aug 30, 2012
scripts Update scripts/openCVLogo.sh Jan 14, 2013
.gitignore git status clean after build Jul 21, 2013
AUTHORS Finish up preparations for release 1.0 Jun 28, 2012
COPYING Put copyright information in one place Jul 23, 2012
ChangeLog Fix the debian build process up Aug 17, 2012
INSTALL Finish up preparations for release 1.0 Jun 28, 2012
Makefile.am Set up distributing the python bindings Aug 13, 2012
NEWS Finish up preparations for release 1.0 Jun 28, 2012
README Update README Feb 6, 2014
README.md Update the README to link to documentation Jul 11, 2013
autogen.sh Fix a minor ordering issue with autogen Jun 23, 2012
configure.ac Begin version 2.1 of libcvautomation Oct 11, 2012
libcvautomation.pc.in Fix how library dependencies are built Jul 23, 2012
libcvautomation_funcs Fix breaking on filenames with spaces Sep 7, 2012
packageDebian.sh Fix a minor issue with the packaging script Aug 3, 2012
packageRPM.sh Commit scripts to help building packages Jul 30, 2012

README.md

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. Reference implementations are given, and they are fairly full-featured.

Installation Instructions

RPM

Place the following content into a file named /etc/yum.repos.d/libcvautomation.repo:

[libcvautomation]
name=Libcvautomation RPM repository
baseurl=http://djbushido.github.com/libcvautomation/rpm
enabled=1
gpgcheck=0 

APT

Place the following lines into your /etc/apt/sources.list:

#Libcvautomation Repository
deb http://djbushido.github.com/libcvautomation/apt libcvautomation/
deb-src http://djbushido.github.com/libcvautomation/apt libcvautomation-source/ 

Tarball

The tarball can be downloaded from the downloads page. Once you have it, just ./configure; make; make install

API Documentation

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 bspeice@uncc.edu. This product is developed with the community in mind, so if there's any feedback to be had I welcome it.