一、Sikuli的认识
1.l什么是Sikuli ?
Sikuli 是由 MIT的研究团队发布的新型图形化编程技术。它以图像检索技术为基础,自动化你在屏幕上看到的任何东西
,
使用图像来识别和控制GUI组件。 使用者可利用屏幕截图直接引用 GUI元素进行编程,完成交互操作。 在
不
容易访问GUI的内部或源代码是
非常
有用的。
Sikuli 一词取自墨西哥 Huichol Indian土著语,意为“上帝之眼”,正如其开发者张琮翔所说—— Sikuli 让电脑能像人一样“看”这个“真实世界”。
二、Sikuli的环境搭建
1.准备工具
jre-6u37-windows-i586.exe
sikuli-X-1.0rc3 (r905)-win32.exe
sikuli-r930-win32.zip
2.注意事项
1)sikuli只有32位版本提供。但是这个版本应该运行在32位和64位Windows系统。
2)确保您已经安装了官方的SunJava 6 JRE 32位 版本(Java 7或64位不支持)。
3)复制sikuli-r930-win32.zip内容 到 SikuliX 。 这一步的目的是r930关联文件修复了了最近的bug ,所以替换r905(有问题版本)文件关联。
4)sikuli-X-1.0rc3(r905)-win32.exe能实现环境变量自动配置,如果没有需要手动配置path=C:\Program Files (x86)\SikuliX\libs;C:\Program Files (x86)\Java\jre6\\bin;
三、Sikuli原理
以python为基础,需要搭建Java运行环境。
四、sikuli界面
五、语法介绍(1)
鼠标动作
Ø
click(GUI)
在屏幕上或指定区域中左键单击匹配度最佳的GUI组件
click( )
Ø
rightClick(GUI)
:
在屏幕上或指定区域中右键单击匹配度最佳的GUI组件
rightClick( )
Ø
doubleClick
(GUI)
在屏幕上或指定区域中右键单击匹配度最佳的GUI组件
doubleClick( )
Ø
dragDrop(GUI,GUI)
拖放第一个组件到第二个组件上
dragDrop( ,
)
Ø
hover(GUI)
移动鼠标指针至匹配度最佳的GUI组件
hover( )
六、语法介绍(2)
键盘动作
Ø
type(text)
在当前焦点所在窗口中键入test
type("www.sikuli.org")
Ø
type(GUI,test)
点击给定组件使其获得焦点,然后键入test
type( ,"www.sikuli.org")
Ø
paste(test)
将test粘贴到当前焦点所在的窗口控件
paste("www.sikuli.org")
Ø
paste(GUI,test)
点击给定组件使其获得焦点,然后粘贴test
七、实际案例
自动登录
QQ
并发送信息到指定好友
实现步骤:
1.打开QQ应用程序
2.输入账户、密码
3.登录
4.查找指定用户
5.发送信息
6.关闭QQ应用程序