3. case $rtval in
1) rm -f /tmp/dirip.$$ ; return ;;
255) rm -f /tmp/dirip.$$ ; return ;;
esac
mfile=`cat /tmp/dirip.$$`
if [ -z $mfile ]
then
mfile=`pwd`/*
SHELL SCRIPT
else
grep "*" /tmp/dirip.$$
if [ $? -eq 1 ]
then
! mfile=$mfile/*
fi
fi
for i in $mfile
do
if [ -f $i ]
then
! echo "$i Delete?" >> /tmp/finallist.$$
fi!
done
3
11. OUTLINE
• Problem - How to refer to a GUI widget?
• Sikuli Script - examples and demos
• Sikuli Test - demo
• Test By Demonstration
• Support of testing practices
• Conclusions
10
36. GENERATE ACTION
COMMANDS
mouse mouse
‘A’ ‘A’ ‘b’ ‘b’
down up
down up down up
28
37. GENERATE ACTION
COMMANDS
low-level events
mouse mouse
‘A’ ‘A’ ‘b’ ‘b’
down up
down up down up
28
38. GENERATE ACTION
COMMANDS
low-level events
mouse mouse
‘A’ ‘A’ ‘b’ ‘b’
down up
down up down up
high-level
commands
click type “Ab”
28
39. GENERATE ACTION
COMMANDS
low-level events
mouse mouse
down up
‘A’ ‘A’ ‘b’ ‘b’ click
down up down up
high-level
commands
click type “Ab”
combine with
screenshots
28
48. PLATFORM INDEPENDENCE
• Works
on ANY GUI that can be displayed on
Windows/Linux/Mac
• Virtual machines
• Remote desktop
• Mobile simulators: Android, iPhone
• Web: Flash, HTML+Javascript
33
52. DISCUSSION
Sikuli programs are written against the user interface
instead of an API
UI: visible, familiar, always exists
API: faster, probably more stable
36
53. FUTURE WORK
• fast and accurate OCR on screen
• more robust against different skins
37
54. Thanks!
http://sikuli.csail.mit.edu
or, just google “sikuli”
New Sikuli 0.10 released.
Follow us on twitter @sikuli
Thanks to our funding sources: NSF and Quanta Computer (as a part of TParty project.)
38