请输入您要查询的百科知识:

 

词条 sikuli
释义

简介

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

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

在上世纪80年代以前,要使用电脑软件需要记住大量的命令才完成相应的任务。但随后出现了GUI(图形用户界面),使用者只需要借助直观的按钮或其他视觉元素即可操作软件。但GUI的出现并没有给程序员带来便利,他们仍然需要借助代码来实现相应的功能。如果要让不同的软件相互配合,也同样要进行代码调用。

而麻省理工学院开发的Sikuli项目则可以使得这一过程变得更加简单,只需要略懂一点编程语言即可完成简单的编程和程序间的调用。利用 Sikuli,用户要使用其他的界面元素,或调用其他程序,不必输入代码,只需要插入相应的按钮或图标截图即可。

例如,当编程人员想要编写一个脚本,实现如下功能:当上班时所乘坐的公交车到达某一站时,自动向手机发送一条提示信息。如果是在以前,需要对相应的坐标进行确定,并通过文本的方式将其编写成代码。而如果在当地公交网站上有一个通过谷歌地图绘制的公交路线图,而且上面有活动的路标,那么编程人员便可将路标移动到需要发送短信的位置,并进行截图。这样一来,只需要将该截图插入到If之后,即可设定好条件语句,从而触发特定的信息。当然,这同样需要具备一些基本的编程基础。

当用户需要调用其他程序时也可以使用这一功能,例如,需要调用其他程序上的某个功能,则只需要将该功能所对应的按钮截图插入到代码中对应 的位置即可。

除了方便编程外,该技术还可以用于进行大规模的程序测试。例如,测试某一按钮是否正常工作。这时,通过Sikuli来调用待测试的按钮便可节约 大量时间。

此外,Sikuli还可用于可视化搜索。例如,对生活中的某一事物拍摄照片,即可搜索相关的信息;或是在某一地区迷路,只要将周围环境的照片上 传到搜索引擎,便可得到相应的地理位置。谷歌此前推出的Goggles也具备了类似的功能。

据麻省理工学院的研究人员介绍,Sikuli的工作模式与人眼一样,直接识别图像,而不是底层代码,因此因此不会产生不兼容的问题。 Sikuli在墨西哥维乔印第安人(Huichol Indians)的语言里是上帝之眼的意思。

这个项目的主创人员之一是来自台湾的张琮翔,他也是著名的技术博客系列追求神乎其技的程序设计之道的作者。

工作原理

工作原理图如下:

以Jython为基础,需要搭建Java运行环境。

测试应用中的优缺点

优点:

1.与平台无关

可以实现任意类型的UI(GUI)测试,轻松实现跨平台测试,并可以解决web测试中的浏览器兼容性测试问题。

2.可读性强

代理可读性强,用图形表示逻辑关系更生动、形象,容易理解,便于维护。

3.提供.jar包

便于构建大型的测试框架,实现各类测试工具之间的互补。

4.用例设计与程序实施可分离

用例设计人员可以只关注图型逻辑关系和测试检查点,不需要懂得具体开发与程序语言基础;程序实施人员可以只进行编程而不过多参与设计。

项目进展

目前最新发布的版本为:1.0rc3

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/26 4:19:45