Skip to content
Branch: master
Find file Copy path
Find file Copy path
2 contributors

Users who have contributed to this file

@RaiMan @hcientist
106 lines (82 sloc) 5.68 KB

RaiMan's Stuff SikuliX

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 13)

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.1 (branch release_2.0.x - see what is fixed)

Feature set and API are frozen. Only bugfixes will be applied as needed and available with follow-up release versions. Hence the next bug-fix version will be 2.0.2 most probably in January 2020.

New features will only be available in a new major version (currently 2.1.0) and developed in branch master and/or dev_ branches. 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:


Current development version is 2.1.0 (branch master nightly builds / snapshots):
Build Status FOSSA Status

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:


The dependency coordinates are:


Development environment

  • Java 13 (OpenJDK release)
  • Windows 10 latest
  • Mac 10.15 latest
  • Ubuntu 18.04 in WSL on Windows 10 (basic tests only)

Contributions are welcome and appreciated

  • for bugreports and requests for features or enhancements use the issue tracker here
  • for bugfixes related to the latest release version (currently 2.0.0) 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 (currently 2.0.1)
  • for 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 branch
  • a pull request should target only one branch. It is the resposibility and job of the maintainer to apply the changes to other branches in case
  • for more complex revisions and/or enhancements you should ask for a development branch together with a short description of your ideas

Please respect the following rules and guidelines when contributing

  • Start with smaller fixes. E.g. choose an issue from the issue tracker and try to fix it. Or fix issues you encounter while using SikuliX.
  • Only fix cosmetic stuff if it's related to an issue you want to fix.
  • Before you change stuff like dependencies / overall code style and so on, talk with the maintainer beforehand.
    Sometimes there is a a reason that things are as they are (... and sometimes not :-)).
  • Try to accept the individual coding styles of the acting contributors, even if some of the stuff might be sub-optimal in your eyes.
    But feel free to talk about your ideas and the reasons behind.
You can’t perform that action at this time.