1     简介

官方介绍:

Sikuli脚本自动化,你在屏幕上看到的任何东西。它使用图像识别,识别和控制GUI组件。这是有用的,当有一个GUI的内部或源代码的访问是不容易的。

Sikuli(在墨西哥维乔印第安人的语言里是”上帝之眼”的意思)是由美国麻省理工学院开发的一种最新编程技术,使得编程人员可以使用截图替代代码,从而简化代码的编写流程。从它研究方向上看,是一种编程技术,但是该技术还可以用于进行大规模的程序测试,脚本程序编写使用的是python语言。

简单的说,Sikuli就是可以直接操作截图来进行自动化测试。

2      安装

2.1                    Sikuli安装

1)       下载安装包“sikulixsetup-1.1.0.jar”,网址:https://launchpad.net/sikuli/sikulix/1.1.0

2)       将安装包拷贝到安装目录下,如D:\Sikuli1.1

3)       在命令行里运行“Java –jarsikulixsetup-1.1.0.jar”,弹出安装向导:

选第一个和第二个

选择好安装项后,单击[Setup Now]进行安装

4)     在弹出的question...向导框里选择[Yes]下载需要的安装文件

5)     文件正在下载

6)     确认是否下载Jython,单击[Yes]开始下载Jython

如果觉得在线下载不方便,可以在安装前去https://launchpad.net/raiman/sikulix2013+/1.1.0将“sikulixlibswin.jar”,“sikulixsetupAPI-1.1.0-forsetup.jar”和sikulixsetupIDE-1.1.0-forsetup.jar下载好,并和sikulixsetup-1.1.0.jar放到同一目录(例如:D:\Sikuli1.1)下,这样在安装过程中,Sikuli会自动检测是否有下载好的jar包,如果有它会直接使用已下载好的jar包

7)     文件下载好后,会显示如下信息,并开始安装

8)     安装完成的提示:

9)     安装成功的提示:

此时,SikuliX安装成功并可以使用了

10)  安装完成后安装目录D:\Sikuli1.1下应该有5个文件:

runsikulix.cmd
sikulix.jar
SikuliX-1.1.0-SetupLog.txt
sikulixapi.jar
sikulixsetup-1.1.0.jar

sikulixsetup-1.1.0.jar是刚才的安装包;runsikulix.cmd用来启动SikuliIDE;sikulix.jar是IDE需要的jar包;SikuliX-1.1.0-SetupLog.txt是安装日志;sikulixapi.jar是Java api

2.2                    jpype库安装

jpype的作用是在python中调用Sikuli的api java库。

可以到https://pypi.python.org/pypi/JPype1下载库,直接安装

3     Sikuli IDE

打开Sikuli安装目录中的runsikulix.cmd,直接打开sikuli IDE:

如图,sikuli IDE的操作非常简单明了,直接按照提示进行操作就好了。

但是这跟selenium-IDE一样,只能作为demo代码,所以需要把sikuli集成到我们的UI自动化框架中

4     Python Sikuli

Sikuli库是用java编写的,打包成Jar,要在python中使用,需要使用jpype进行转换。

Python中调用sikuli的demo如下:

# coding=utf-8

from jpype import *

startJVM(r'C:\ProgramFiles\Java\jre1.8.0_111\bin\server\jvm.dll', '-ea', r'-Djava.class.path=D:\sikuli\sikulixapi.jar')
# shutdownJVM()

App = JClass('org.sikuli.script.App')
Screen = JClass('org.sikuli.script.Screen')
screen = Screen()

参考:http://blog.csdn.net/a23764996/article/details/53541047

python安装jpype会遇到问题:

参考:

http://blog.csdn.net/linshiyx/article/details/51699163
http://blog.csdn.net/a23764996/article/details/53541047
https://www.cnblogs.com/monsteryang/p/6498690.html

貌似robot framework 可以集成sikuli

sikuli 安装的更多相关文章

  1. 1.1 sikuli 安装

    JRE7不支持sikuli,必须下载JRE6   更新号必须大于35 sikuli下载: http://www.cr173.com/soft/52775.html 或参照 http://www.cnb ...

  2. 【转载】Sikuli安装及使用——基于图像识别自动化工具

    一.Sikuli能做什么? 用屏幕截图的方式,用截出来的图形元素组合出神奇的程序实现自动化安装.卸载软件,自动化测试(Windows.mac应用测试,Web测试,移动端测试) 二.安装Sikuli 预 ...

  3. [Sikuli] Sikuli安装

    http://blog.csdn.net/defectfinder/article/details/49819215 1.下载 sikulixsetup-1.1.0.jar (md5, sig) ht ...

  4. Sikuli 安装使用之初体验(为Sikuli X指定jre路径)

    Sikuli 是一种新颖的图形脚本语言,在实际的自动化测试中如果仅仅依靠selenium 还是远远不够的,selenium自动化本身是存在着诸多缺陷的,基于浏览器之外的控件 (windows 控件 等 ...

  5. selenium结合最新版的sikuli使用

    sikuli安装,下载sikulixsetup-1.1.0.jar,地址:https://launchpad.net/sikuli/sikulix/1.1.0 在装有Java环境的机器上直接双击jar ...

  6. RF+Selenium2Library+Sikuli集成环境搭建

    Sikuli是通过截图来编写代码的脚本语言,他是对于Selenium不好处理的一些模态窗口.flash等的利器.废话少说,直接开始安装吧.安装RF+Selenium2Library的环境这里就不说了, ...

  7. Sikuli:创新的图形化编程技术

    Sikuli是一种使用截图进行UI自动化测试的技术.Sikuli包括sikul脚本,基于Jython的API以及sikuli IDE.Sikuli可以实现任何你可以在显示器上看到ui对象的自动化,你可 ...

  8. 8.1 sikuli报错: 提示没有对应的javaw

    对于sikuli,需要安装32位的jdk且不能高于1.7的版本. 对于64位系统的C盘,Program Files文件夹是64位的,Program File(x86)文件夹是32位的 需要安装一个32 ...

  9. 基于Sikuli GUI图像识别框架的PC客户端自动化测试实践

    写在前面 最近两天,公司有个PC客户端的测试任务,除了最基础的功能测试外,还包括稳定性测试和兼容性测试需求.刚好去年接触过Sikuli这款基于GUI图像识别框架的自动化测试工具,于是便应用于测试工作中 ...

随机推荐

  1. iOS UIlabel怎么加载html字符串 富文本的用法

    要加载html字符串,用人说,直接用webView啊!但是,有时候我们只需要显示2行文字,如此少的内容却要在复杂的UI排版中加入一个占用资源较多的webview,得不偿失.这里要说的是,我们其实可以用 ...

  2. <NET CLR via c# 第4版>笔记 第17章 委托

    17.1 初识委托 .net 通过委托来提供回调函数机制. 委托确保回调方法是类型安全的. 委托允许顺序调用多个方法. 17.2 用委托回调静态方法 将方法绑定到委托时,C# 和 CLR 都允许引用类 ...

  3. SSH整合:Unable to instantiate Action, employeeAction, defined for 'emp-list' in namespace '/'employeeAction - action

    SSH整合,照着视频敲的,不知为何会报错,经历了快两周的折磨给解决了.记录下来给后面需要帮助的人,也算极好的了. Struts Problem Report Struts has detected a ...

  4. tp 邮件发送

    1.需要phpmail邮件发送包, 2.邮件发送函数function sendMail($to, $title, $content){ require_once('./PHPMailer_v5.1/c ...

  5. Axure使用笔记1:如何去除IE中每次“已限制网页运行脚本或ActiveX控件”

    每次在Axure中画原型预览的时候,IE每次都有 这个比较烦,在Internent做如下设置,即可不再烦恼 看到没,给允许活动内容在我的计算机上的文件中运行打上勾

  6. net start mysql启动mysql,提示发生系统错误 5 拒绝访问 解决方法

    解决问题方法如下: 在dos下运行net  start mysql 不能启动mysql!提示发生系统错误 5:拒绝访问!切换到管理员模式就可以启动了.所以我们要以管理员身份来运行cmd程序来启动mys ...

  7. WEB接口测试之Jmeter接口测试自动化 (二)

    通过逐个录入的方式,好不容易将需要测试几十个接口的300多个测试用例录入sampler-http请求中,固定的测试环境跑起来也还 感觉良好.不料在新服务器环境中跑用例时,问题来了:修改参数维护脚本等成 ...

  8. 求a^b

    时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 求a^b 由于结果可能很大,我们现在只需要知道这个值 mod 1012就可以了(为什么是1012?我的生日) ...

  9. Linux服务器没有GUI的情况下使用matplotlib绘图

    最近看到关于 python3 中用matplotlib 不进行交互画图,而是直接将图保存到硬盘,主要的一个设置就是  matplotlib.use('agg') 注明: 其实不设置  matplotl ...

  10. 隐藏微信小程序剪贴板提示

    wx.setClipboardData 剪贴内容老是有一个Toast提示,很不爽,如何隐藏? 只要你代码写得够快,提示都追不上你. wx.setClipboardData({ data: '女朋友了? ...