Sikuli是通过截图来编写代码的脚本语言,他是对于Selenium不好处理的一些模态窗口、flash等的利器。废话少说,直接开始安装吧。安装RF+Selenium2Library的环境这里就不说了,不会的看一下http://blog.csdn.net/xc5683/article/details/10017915这篇文档就好了。

1、安装Sikuli http://sikuli.org,去官网直接下载Sikuli-X-1.0rc3 (r905)-win32.exe安装就可以了。安装它之前需要先安装Java。

2、安装Jython环境:官网http://www.jython.org,下载jython-installer.jar。安装方法:java -jar jython-installer-2.5.3.jar

安装好之后,将c:\jython2.5.3\bin目录加入到path环境变量中。

3、配置rf远程调用sikuli环境:

a、新建一个文件夹c:\rf_sikuli

b、将sikuli安装目录下的C:\Program Files\Sikuli X\sikuli-script.jar拷贝到c:\rf_sikuli下

c、下载文件http://robotframework.googlecode.com/hg/tools/remoteserver/robotremoteserver.py到c:\rf_sikuli中

d、在c:\rf_sikuli下新建文件SikuliRemoteLibrary.py,文件内容如下:

import sys
from robotremoteserver import RobotRemoteServer
from org.sikuli.script import * class SikuliRemoteLibrary: def __init__(self):
self.SS = Screen()
self.PT = Pattern() def _wait(self, imgFile, timeOut, similarity):
try:
self.PT = Pattern(imgFile)
self.PT = self.PT.similar(float(similarity))
self.SS.wait(self.PT, float(timeOut))
except FindFailed, err:
print "ERR: _wait"
raise AssertionError(err) def click_object(self, imgFile, timeOut, similarity):
try:
self._wait(imgFile, timeOut, similarity)
self.SS.click(imgFile)
except FindFailed, err:
raise AssertionError("Cannot click [" + imgFile + "]") def object_exists(self, imgFile, similarity, timeOut):
try:
self._wait(imgFile, timeOut, similarity)
except FindFailed, err:
raise AssertionError("Could not find [" + imgFile + "]") def type_at_object(self, imgFile, txt, timeOut, similarity):
try:
self._wait(imgFile, timeOut, similarity)
self.SS.type(imgFile, txt)
except FindFailed, err:
raise AssertionError("Cannot type at [" + imgFile + "]") def paste_at_object(self, imgFile, txt, timeOut, similarity):
try:
self._wait(imgFile, timeOut, similarity)
self.SS.paste(imgFile, txt)
except FindFailed, err:
raise AssertionError("Cannot paste at [" + imgFile + "]") if __name__ == '__main__':
SRL = SikuliRemoteLibrary()
RobotRemoteServer(SRL, *sys.argv[1:])

e、将c:\rf_sikuli目录添加到CLASS_PATH环境变量下

f、打开cmd,到c:\rf_sikuli目录下,执行jython.bat SikuliRemoteLibrary.py

如果出现:Robot Framework remote server starting at localhost:8270,说明配置成功,可以使用了

如果出现:no named module sikuli的错误,请将sikuli-script.jar解压一下就可以了(注意解压选择解压到当前文件夹就可以)

4、RIDE中使用sikuli

a、在RIDE中新建一个测试用例

b、需要加入Remote和Screenshot库

c、在用例中直接写用例就可以了

最新文章

  1. iOS 设置不同的字体颜色
  2. iOS 状态栏隐藏显示
  3. HDU 2082 找单词 (多重背包)
  4. mybatis实战教程(mybatis in action)之九:mybatis 代码生成工具的使用
  5. DedeCMS顽固木马后门专杀工具V2.0实现方式研究
  6. sql:select赋值和set赋值的区别
  7. wordpress+php+mysql 配置
  8. springMVC源码学习之:springMVC响应请求的几种方法
  9. 苏泊尔借助微软CRM提升客户满意度
  10. HashMap 读后感
  11. WIN ERROR:C:\Windows\System32\<LANG_NAME>\mstsc.exe.MUI
  12. db2 数据类型
  13. JAVA----类的继承1(extends)
  14. JAVA入门[18]-JdbcTemplate简单实例
  15. Linux平台部署.Net Core SDK
  16. testng执行多个suite
  17. Kali2安装完成后的设置
  18. Linux下安装中文宋体
  19. hdu-1173(最短距离)
  20. vue + skyline 搭建 一个开发环境

热门文章

  1. 【老鸟学算法】大整数乘法——算法思想及java实现
  2. VirtualBox安装及使用说明和虚拟机安装XP系统图文教程
  3. HTML简单介绍及举例
  4. android Gallery滑动不流畅的解决
  5. checkbox探究
  6. Google 开源项目风格指南阅读笔记(C++版)
  7. linux+Qt程序如何打包发布
  8. Spring MVC 多选框 绑定 Entity 中的 list 属性
  9. jquery 下拉多选插件
  10. 一些实用的mysql语句(不断积累更新)