20. APP CLASS refox = App.open(Firefox) refox.focus(), refox.close() refox.window([n]) returns the Region of Firefoxs n-th window 17
21. FIND IN CERTAIN APP 18
22. EX3: MUTE SPEAKERS 19
23. EX3: MUTE SPEAKERS 19
24. SPATIAL OPERATORS 20
25. SPATIAL OPERATORS 20
26. SPATIAL OPERATORS (2) 21
27. TEXT MATCHING AND RECOGNITION click(OK), nd(Cancel) region.text() - read the text in a region 22
28. VISUAL-EVENT-DRIVEN PROGRAMMING observes visual events in any Region Region.onAppear(Pattern, handler) Region.onVanish(Pattern, handler) Region.onChange(Pattern, handler) 23
29. VISUAL-EVENT-DRIVEN PROGRAMMING 24
30. VISUAL-EVENT-DRIVEN PROGRAMMING 24
31. VISUAL DICTIONARY 25
32. GUITESTING 26
33. VISUAL ASSERTION make sure the appearance of visual feedback 27
34. VISUAL ASSERTION make sure the appearance of visual feedback 27
35. JUNIT INTEGRATION 28
36. SIKULI IN COMMAND LINEusage:Sikuli-IDE [--args ] [-h] [-r ] [-s] [-t ] --args specify the arguments passed to Jythons sys.argv -h,--help print this help message -r,--run run .sikuli or .skl file -s,--stderr print runtime errors to stderr instead of popping up a message box -t,--test run .sikuli as a unit test case with junits text UI runner 29
37. CONCLUSIONS 30
38. 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 31
39. PROGRAM AGAINST UISikuli programs are written against the user interfaceinstead of an API UI: visible, familiar, always exists API: faster, probably more stable 32
40. FUTURE WORK fast and accurate OCR on screen Accessibility API integration 33
41. Thanks! http://sikuli.org or, just google sikuli New Sikuli X 1.0-rc2 released.