Sikuli Automation
Sikuli Automation
What is Sikuli ?
Visual approach to search and automation of graphical
GUI Automation
user interfaces using screenshots
Sikuli was an open-source research project at the
User Interface Design Group at MIT.
Why Sikuli ?
Motivation
find( )
Finder
f = Finder(path-to-imagefile)
f.find(path-to-imagefile, [similarity])
Region(x, y, w, h)
Region(region)
Region(Rectangle)
click( )
Mouse actions
click(image)
doubleClick(image)
rightClick(image)
hover(image)
dragDrop(image_target, image_destination)
Typing & ‘Reading’ actions
type(text)
type(image, text)
paste(text)
paste(image, text)
text(image)
mouseDown(button)
mouseUp(button)
keyDown(keys)
keyUp(keys)
wait(image)
waitVanish(image)
exist(image)
onAppear(image, handler)
onVanish(image, handler)
onChange(image, handler)
Spatial operator
find( ).left().find( )
Performance
200 milisecond
Find() for 100x100 target on a 1600x1200 screen
Limitations
▪ Task automation/Macros
▪ Software automation testing
▪ Demo/Presentation
▪ Gaming
Thanks!
SlidesCarnival icons are editable shapes.
Examples: