Sikuli / SikuliX Documentation for version 1.1+ (2014 and later)¶
This document is being maintained by Raimund Hocke aka RaiMan.
If you have any questions or ideas about this document, you are welcome to contact him directly via the above link and the email behind.
QuickStart information and other possibilities to get in contact: sikulix.com.
For questions regarding the functions and features of Sikuli itself, that are not answered sufficiently in this documentation, please use the Sikuli Questions and Answers Board.
For hints and links of how to get more information and help, please see the sidebar.
Documentation for previous versions
Might not be available any longer without notice or might not work properly. Feel free to post a bug in case.
The documentation for the versions up to SikuliX-1.0rc3 is still available here.
How to use this document¶
SikuliX at the top supports scripting via SikuliX IDE (a basic script editor to load, edit, save and run scripts including the creation/organization of the needed images for your visual workflow).
Supported scripting languages:
If you are new to programming, you can still enjoy using SikuliX to automate simple repetitive tasks without learning one of the supported scripting languages using the SikuliX IDE.
A good start might be to have a look at the tutorials.
NOTE: Since Jython and JRuby are based on Java, the modules available for Python or Ruby might not be available in the Sikulix environment. So before trying to use any non-standard modules or extension packages, you have to check, wether they are supported in this SikuliX environment.
NOTE on Java usage The features in SikuliX at the bottom line are implemented with Java. So you might as well use SikuliX at this Java API level in your Java projects or other Java aware environments (see how to). Though this documentation is targeted at the scripting people it contains basic information about the Java level API as well at places, where there are major differences between the two API level.
Additionally you might look through the JavaDocs (temporary location).
Each chapter in this documentaton briefly describes a class or a group of methods regarding their basic features. General usage information are provided and hints, that apply to all methods in that chapter. We recommend to read carefully before using the related features.
If you are totally new with Sikuli, it might be a good idea to just read
through this documentation sequentially. An alternative way might be to jump to the
chapters that you are interested in by scanning the table of contents.
A way in the middle would be reading the core classes in this sequence:
Match, and finally
SikuliX - how does it work and system specific information¶
New Features and major changes (version 1.1.0+)¶
SikuliX scripting and usage in programming scenarios (preferably Java based)¶
- SikuliX - general aspects of scripting
- Using Python
- Using Ruby
- Using SikuliX in Java programming
- Using SikuliX in non-Java programming scenarios
- Using RobotFramework
SikuliX IDE create/run scripts and organize your images¶
SikuliX API for scripting and Java programming¶
- General features regarding scripting and image handling
- Controlling Sikuli Scripts and their Behavior
- Writing and redirecting log and debug messages
- File and Path handling - convenience functions
- Image Search Path - where SikuliX looks for image files
- Importing other Sikuli Scripts (reuse code and images)
- Running scripts and snippets from within other scripts and run scripts one after the other
- Interacting with the User and other Applications
- General Settings and Access to Environment Information
- Region (rectangular pixel area on a screen)
- Create a Region, Set and Get Attributes
- Get evenly sized parts of a Region (as rows, columns and cells based on a raster)
- Extend Regions and create new Regions based on existing Regions
- Finding inside a Region and Waiting for a Visual Event
- Observing Visual Events in a Region
- Acting on a Region
- Extracting Text from a Region
- Low-level Mouse and Keyboard Actions
- Exception FindFailed
- Grouping Method Calls ( with Region: )
- Key Constants
- The Application Class (App)
- Can I do X or Y or Z in SikuliX?
- How to run SikuliX from Command Line
- Command Line Options (generally, debug output related)
- Command Line Options (special)
- Command Line Options (intention: IDE should open)
- Command Line Options (intention: run a script without opening the IDE)
- Command Line Options (intention: run the experimental scriptrun server)
- Command Line Options (intention: provide user parameters for running scripts)
- How to use SikuliX API in your JAVA programs or Java aware scripting