I use irb for composing and debugging scripts. Following is what you might need to do inorder to run Sikuli in IRB:
- Install JRuby or via rvm
- Copy sikuli-script.jar to jruby lib
- cp /Applications/Sikuli-IDE.app/Contents/Resources/Java/sikuli-script.jar $JRUBY_HOME/lib
- For RVM:
- rvm list (to list currently installed rubies)
- rvm use jruby-1.x.x (to use jruby as the ruby implementation)
- rvm info (to print information about the ruby currently being used)
- cp /Applications/Sikuli-IDE.app/Contents/Resources/Java/sikuli-script.jar $MY_RUBY_HOME/lib ($MY_RUBY_HOME points to the current ruby home, in this case jruby)
- run irb (the irb prompt should list jruby as the ruby implementation, something like jruby-1.x.x :001 > )
- jruby-1.x.x :001 > require 'java'
- => true
- jruby-1.x.x :002 > java_import 'org.sikuli.script.Screen'
- => Java::OrgSikuliScript::Screen
- jruby-1.x.x :003 > screen = Screen.new
- => #<Java::OrgSikuliScript::Screen:0x1dc2dad7>
- jruby-1.6.0 :004 > image_path='/Users/mubbashir/Desktop'
- => "/Users/mubbashir/Desktop"
- screen.hover("#{image_path}/apple.png")
- [info] Sikuli vision engine loaded.
- => 1
With Auto Completion IRB is just a blessing, specially when you want to try some new library or need to run some snippets:
Similarly in script it would be something like:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'java' | |
java_import 'org.sikuli.script.Screen' | |
screen = Screen.new | |
image_path='/Users/mubbashir/Desktop' | |
screen.click("#{image_path}/apple.png", 0) |
to run the script ruby script_file_name.rb Just be sure that you are using JRuby ;)