What is SikuliX
SikuliX automates anything you see on the screen of your desktop computer
running Windows, Mac or some Linux/Unix. It uses image recognition powered by OpenCV to identify
GUI components and can act on them with mouse and keyboard actions.
This is handy in cases when there is no easy access to a GUI's internals or
the source code of the application or web page you want to act on. More details
You need at least Java 8, but it works on Java 9 up to latest (currently 14)
Windows: Works out of the box (for exceptions look here)
Mac: you have to make Tesseract OCR available (for HowTo look here).
Linux: you have to make OpenCV and Tesseract OCR available (for HowTo look here).
Latest stable version is 2.0.4 (branch release_2.0.x
- see what is fixed)
Development version 2.1.0 currently not useable until further notice
New features will only be available in new major versions (currently 2.1.0, branches master and/or dev_...).
Until release of a stable 2.1.0, there will be nightly builds and snapshots available (see below).
Here you can read about the changes/enhancements
Get SikuliX ready to use
For use in Java Maven projects the dependency coordinates are:
<dependency>
<groupId>com.sikulix</groupId>
<artifactId>sikulixapi</artifactId>
<version>2.0.4</version>
</dependency>
Current development version is 2.1.0 (branch master
nightly builds / snapshots):
Read about fixes, enhancements and new features
Get the nightly builds ready to use
For use in Java Maven projects use the SNAPSHOT dependency information:
The repository URL:
<repositories>
<repository>
<id>sonatype-ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
The dependency coordinates are:
<dependency>
<groupId>com.sikulix</groupId>
<artifactId>sikulixapi</artifactId>
<version>2.1.0-SNAPSHOT</version>
</dependency>
Development environment
bugreports and requests for features or enhancements
use the issue tracker herefor bugfixes
related to the latest release version you should create a pull request against the release branch (currently release_2.0.x
), so your fix will be in the next bug-fix release (see milestones).
smaller bugfixes and/or feature enhancements
related to the running development (currently branch master as version 2.1.0-SNAPSHOT and dev_... branches) you should create a pull request against the target branchmore complex revisions and/or enhancements
you should ask for a development branch together with a short description of your ideasPlease respect the following rules and guidelines when contributing