sikuli优缺点及工作原理简介

sikuli优缺点及工作原理简介

sikuli

sikuli中文名称“斯库里”,取自墨西哥土著语,上帝之眼。点击界面函数按钮按照提示截图即可完成编程,是可以用做编写论坛刷分、抢购秒杀、游戏作弊、gui测试、自动演示程序的神器。

Sikuli 是由 MIT 的研究团队发布的新型图形化编程技术。Sikuli可利用屏幕截图直接引用 GUI 元素进行编程,如果需要编写出功能更强大的程序则需要使用者有一些python语言基础。

sikuli的优点

  • sikuli可在Mac OS X、Windows 和 Linux 平台运行,需要Java 6 的运行环境支持
  • sikuli提供sikuli-script.jar包供java,python程序调用
  • 图形化编程,简单易用

sikuli的缺点

  • 依赖屏幕截图,不同的操作系统上,不同的浏览器中,甚至是不同的显示分辨率下,需要独立维护一套图形源文件,对于其跨平台的能力造成障碍。
  • 执行容错性差,如果出现程序逻辑之外的意外界面遮挡或焦点切换(如,弹出窗口等),则会对程序执行造成影响。
  • sikuli IDE处于初级开发阶段,稳定性有待提高,很多机器截图功能失效
  • sikuli IDE仅支持初级的代码编辑功能,不适合规模较大的代码开发和调试。

综上所述,类似自动发帖、自动抢购,QQ自动发消息等小型程序直接使用sikuli IDE是不错的选择,类似GUI自动化测试等工作,还是选择java、python程序调用sikuli-script.jar快捷。

sikuli工作原理

Sikuli的技术架构图,可以看到里面用到了OpenCV。sikuli使用基于opencv的c++引擎在屏幕上搜索给定的图像,通过JNI连接到java。

sikuli原理图

sikuli保存的脚本有两种形式(.sikuli/.skl)

  • 其中.sikuli是一个文件夹,里面包含一个.py的python源文件和脚本中用到的图片,脚本内使用图片的路径,可以使用任何文本编辑器直接修改python源文件。除此之外还有一个html文件,方便在网络是分享斯库里脚本。
  • .skl是一个简单的压缩文件,包括.sikuli文件夹内的所有文件。

sikuli官网:http://sikuli.org 官方网站提供不同版本下载、说明文档和sikuli程序源码下载。

Sikuli的主要开发者张琮翔是中国(台湾)人,以下是他的博客:vgod’s blog

6san.com

发表评论