注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

和申的个人主页

专注于java开发,1985wanggang

 
 
 

日志

 
 

sikuli  

2013-09-02 17:41:24|  分类: 名词解释 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

MIT设计了一种新颖的图形脚本语言Sikuli,计算机用户 只须有最基本的编程技能(比如会写print"hello world"),他不需要去写出一行行代码,而是用屏幕截图的方式,用截出来的图形元素组合出神奇的程序。

根据MIT研究人员的论文(PDF)描述,使用者只要对Python语言有基本的了解,Sikuli可以利用图形用户界面的截图元素自动的完成大多数编程任务。用研究人 员的举的例子来说,就好象巴士正在转过街角,脚本能通知乘客,好让他及时赶上。

sikuli - 和申 - 和申的个人主页

  sikuli - 和申 - 和申的个人主页


简介

MIT的研究人员设计了一种新颖的图形脚本语言Sikuli,计算机用户只须有最基本的编程技能(比如会写print"hello world"),他不需要去写出一行行代码,而是用屏幕截图的方式,用截出来的图形元素组合出神奇的程序。
根据MIT研究人员的论文(PDF)描述,使用者只要对Python语言有基本的了解,Sikuli可以利用图形用户界面的截图元素自动的完成大多数编程任务。用研究人员的举的例子来说,就好像巴士正在转过街角,脚本能通知乘客,好让他及时赶上。
在上世纪80年代以前,要使用电脑软件需要记住大量的命令才完成相应的任务。但随后出现了GUI(图形用户界面),使用者只需要借助直观的按钮或其他视觉元素即可操作软件。但GUI的出现并没有给程序员带来便利,他们仍然需要借助代码来实现相应的功能。如果要让不同的软件相互配合,也同样要进行代码调用。
而麻省理工学院开发的Sikuli项目则可以使得这一过程变得更加简单,只需要略懂一点编程语言即可完成简单的编程和程序间的调用。利用 Sikuli,用户要使用其他的界面元素,或调用其他程序,不必输入代码,只需要插入相应的按钮或图标截图即可。
例如,当编程人员想要编写一个脚本,实现如下功能:当上班时所乘坐的公交车到达某一站时,自动向手机发送一条提示信息。如果是在以前,需要对相应的坐标进行确定,并通过文本的方式将其编写成代码。而如果在当地公交网站上有一个通过谷歌地图绘制的公交路线图,而且上面有活动的路标,那么编程人员便可将路标移动到需要发送短信的位置,并进行截图。这样一来,只需要将该截图插入到If之后,即可设定好条件语句,从而触发特定的信息。当然,这同样需要具备一些基本的编程基础。
当用户需要调用其他程序时也可以使用这一功能,例如,需要调用其他程序上的某个功能,则只需要将该功能所对应的按钮截图插入到代码中对应 的位置即可。
除了方便编程外,该技术还可以用于进行大规模的程序测试。例如,测试某一按钮是否正常工作。这时,通过Sikuli来调用待测试的按钮便可节约 大量时间。
此外,Sikuli还可用于可视化搜索。例如,对生活中的某一事物拍摄照片,即可搜索相关的信息;或是在某一地区迷路,只要将周围环境的照片上 传到搜索引擎,便可得到相应的地理位置。谷歌此前推出的Goggles也具备了类似的功能。
据麻省理工学院的研究人员介绍,Sikuli的工作模式与人眼一样,直接识别图像,而不是底层代码,因此因此不会产生不兼容的问题。 Sikuli在墨西哥维乔印第安人(Huichol Indians)的语言里是上帝之眼的意思。
这个项目的主创人员之一是来自台湾的张琮翔,他也是著名的技术博客系列追求神乎其技的程序设计之道的作者。

工作原理

工作原理图如下:
sikuli - 和申 - 和申的个人主页
 
以Jython为基础,需要搭建Java运行环境。



测试应用中的优缺点

优点:
1.与平台无关
可以实现任意类型的UI(GUI)测试,轻松实现跨平台测试,并可以解决web测试中的浏览器兼容性测试问题。
2.可读性强
代理可读性强,用图形表示逻辑关系更生动、形象,容易理解,便于维护。
3.提供.jar包
便于构建大型的测试框架,实现各类测试工具之间的互补。
4.用例设计与程序实施可分离
用例设计人员可以只关注图型逻辑关系和测试检查点,不需要懂得具体开发与程序语言基础;程序实施人员可以只进行编程而不过多参与设计。
 

Why Sikuli?

Sikuli automates anything you see on the screen. It uses image recognition to identify and control GUI components. It is useful when there is no easy access to a GUI's internal or source code.
sikuli - 和申 - 和申的个人主页
 
 







sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页
sikuli - 和申 - 和申的个人主页

Who are developing Sikuli?

Sikuli is an open-source research project originally started at the User Interface Design Group at MIT
The SikuliX package line (current version 1.0.1) is now maintained and further developed by 
Raimund Hocke (aka RaiMan) in coordination with the open-source community.
Sikuli Slides is developed by the Sikuli Lab at the University of Colorado Boulder.  It is supported in part by the National Science Foundation under award number IIS-0447800 and by Quanta Computer as part of the TParty project. 
Sikuli software is released under the MIT License.

How can I learn and use Sikuli?

To get a first impression about SikuliXHello World Example is a good starting point. You can continue to follow the examples in the tutorials and the videos. You can learn most about SikuliX by reading the documentation
SikuliX currently uses Python as the scripting language. To learn more start here: [How to] get deeper into Python language. Python scripting is well supported by the SikuliX-IDE (more scripting languages to come). 
You can use Sikuli's features in your Java programs as well using SikuliX-API and in many other Java aware scripting languages and environments.
For Sikuli Slides everything you need can be found on the homepage.

How can I get support?

Support for SikuliXFAQsQuestions/Answers and Bugs/Fixes
Support for Sikuli SlidesHomepage 
Feel free to Contact the developers and community if you have any suggestion or if you want to contribute.

参考:sikuli主页 http://www.sikuli.org/
统计信息唧唧歪歪唧唧网ggyygg.net
  评论这张
 
阅读(1086)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016