What is new in Sikuli XΒΆ
Sikuli X is a new experimental branch of Sikuli. (X stands for eXperimental.) For all current users of Sikuli 0.9 or 0.10 we recommend to upgrade to X.
However, please keep in mind some new features are still experimental, e.g. text recognition and the new API to get the bound of any windows, which means they may not work well or not support all platforms yet.
New in version X1.0-rc2.
Features marked with RC2 in the following list are only available beginning with Sikuli X-1.0rc2. In the documentation sections you might look for the above marker to identify new features.
RC2: the IDE outfit is revised. Find and Undo/Redo is added. Console messages are colored now. The font is now monospaced and smaller.
- RC2: The message concept is completely revised. Verbosity can be adjusted now
(see
Sikuli Messages
).
- RC2: Extensions (jar-files containing complementary Sikuli features) can be downloaded from a repository managed by the Sikuli developers. As the first extension Sikuli Guide (an annotation tool - Windows and Mac only) is available. You may contribute your own extensions.
(see: Extensions).
RC2: sikuli-script.jar together with the native libraries can now be used really standalone (only a few standards have to be followed), so it is easier now to integrate Sikuli with other IDE’s, frameworks or applications and run scripts from commandline.
RC2: sikuli-script.jar on commandline now accepts a new option -i, that starts up the interactive Jython with the Sikuli environment already initialized (for tests on the fly from commandline without the IDE).
RC2:
Env.getSikuliVersion()
returns the Sikuli version string.New computer vision engine - faster and more reliable
Better capture mode on Mac (supports multi-screens, no flicker anymore)
Text recognition and matching
find("OK")
returns all regions with a “OK” label (see Finding a Pattern (Image or Text))- new
Region.text()
returns the text in the region
Screenshot Naming in the IDE:
- screenshots can be automatically named
- with timestamps
- with part of the text found in them
- manually at time of capture
- and renamed every time using the preview pane
- screenshots can be automatically named
- Remote Images are supported
e.g.
click("http://sikuli.org/example/ok_button.png")
- There is an Image Search Path - images can be stored wherever you like, even in the web
(see Image Search Path)
- Scripts can be imported from .sikuli sources as a module (Python style).
- RC2: jar-files containing java classes and/or Python modules can be loaded at runtime.
(see Importing Sikuli Scripts)
New App Class replaces the old openApp, switchApp, closeApp functions (see Class
App
)App.open()
,App.close()
,App.focus()
App.window()
returns the bound of the app window as a Region, so you can restrict following actions within that region. (Windows and Mac only)
- Beautified Run in Slow Motion mode together with some additional options available now through class
Settings
(see Controlling Sikuli Scripts).
- Beautified Run in Slow Motion mode together with some additional options available now through class
Smooth mouse movement (see Controlling Sikuli Scripts)
- More Special Keys are supported (PrintScreen, NumPad, CapsLock...) (see Class
Key
) - RC2: The status of NumLock, CapsLock and ScrollLock can be requested
(see
Env.isLockOn()
).
- More Special Keys are supported (PrintScreen, NumPad, CapsLock...) (see Class
New Region Highlighting:
Region.highlight()
(Windows and Mac only)RC2: Additional helper methods to relocate or change region objects and to get their corners (e.g.
reg.moveTo()
orreg.getTopLeft()
). Other new API’s likereg.getRegionFromPSRM()
might be helpful when developing complex scripts and packages like Extensions.RC2: The observer feature is completely revised. A class
SikuliEvent
is added, containing environmental information about the observed event.- RC2: A new FindFailed handling option is added, that might come up with a prompt at runtime
(see Exception FindFailed)
Mouse Wheel supported:
wheel(target, WHEEL_UP | WHEEL_DOWN, steps)
for scrolling the mouse wheel