Tingting Dong

Tingting Dong

QA,抠脚女汉子,热爱一切美好事物的2货处女座...

LinkedIn

Sikuli+Linux+Ruby+实例

在linux上安装sikuli对我来说还挺麻烦,先记载下来一个使用实例吧。

我的环境是Ubuntu 12.04, ruby开发环境

恶心之处是要装三个支持的东东openCV tesseract 和 LinuxVisionProxy,而这些在sikuli的官方文档上写的不太明白。

官方文档: http://www.sikulix.com/download.html

  • 1. 安装jruby

-

rvm insall jruby
rvm list
rvm use "your jruby"

make sure your current ruby is jruby

  • 2. 安装OpenCV

不要在ubuntu的包管理工具里安装,因为貌似有问题

sudo apt-get install libopencv-*
sudo apt-get isntall python-opencv
sudo apt-get install python-numpy
  • 3. 安装tesseract

-

sudo apt-get install tesseract-ocr-dev
sudo apt-get install libtesseract-dev
  • 4. 安装LinuxVisionProxy, 并且手动编译

- 下载 LinuxVisionProxy.zip: https://launchpad.net/sikuli/+download

wget 某一个最新的 LinuxVisionProxy.zip 地址
unzip Sikuli-xxx-Supplemental-LinuxVisionProxy.zip 
./makeVisionProxy
  • 5. 安装sikuli jar包

下载 sikuli-setup.jar (md5): https://launchpad.net/sikuli/+download

安装: java -jar sikuli-setup.jar 
运行: ./runIDE

可以看看安装完了之后的log文件,里面记载了报错信息,没有报错的话才行, 他的错有时候不抛到命令行

  • 6. 安装sikuli/rukuli (rukuli是sikuli的ruby版本)

-

gem install rukuli
  • 7. 把sikuli/rukuli 添加到项目的Gemfile里面

编辑Gemfile

source 'https://rubygems.org'
gem 'rukuli'

然后运行bundle

  • 8. 添加环境变量SIKULIX_HOME

-

export SIKULIX_HOME=/path_of_sikuli-java.jar
  • 9. 测试代码

-

  require 'java'
  require 'rukuli'
  Rukuli::Config.run do |config|
    config.image_path = "#{Dir.pwd}/images/"
    config.logging = false
  end

  screen = Rukuli::Screen.new
  screen.click(10, 10) # should open your apple menu

  或者
  @re = Rukuli::Region.new(10, 10, 1500, 1500)
  @re.click "#{@fileset}/post.jpg"


comments powered by