我一直在寻找自动化Windows应用程序,并被要求用rautomation进行探索,我刚开始使用它。
现在,在通过关于github和Jarmo的几个博客的文档之后,我在这里发布了一个非常简单的问题,我确信我正在做一些非常基本的错误。
这是我的代码 -
>> require "rubygems"
=> true
>> require "rautomation"
=> true
>> @window = RAutomation::Window.new :title => "System Volume (C:)"
RuntimeError: unsupported platform for RAutomation: java
from C:/jruby-1.5.6/lib/ruby/gems/1.8/gems/rautomation-0.6.3/lib/rautomation/adapter/helper.rb:16:in `default_adapter'
from C:/jruby-1.5.6/lib/ruby/gems/1.8/gems/rautomation-0.6.3/lib/rautomation/window.rb:65:in `initialize'
from (irb):10:in `new'
from (irb):10
所以,问题是 - 我做错了什么? 在这里,我试图掌握Windows资源管理器。
完成 - 完成。问题在于Jruby的使用。如果我使用(普通)红宝石与rubymine然后我没有任何问题。 Stackoverflow不允许我关闭我的问题,直到我有100个声誉。
答案 0 :(得分:2)
这是因为RAutomation正在确定 RUBY_PLATFORM 的兼容性。下一版本将使用OS Environment变量: https://github.com/jarmo/RAutomation/commit/dd825b04aab6d90cfedf385a620095c17da92644
但是,您现在也可以通过指定适配器本身来使用JRuby(它未经测试,但应该工作),以便不执行#default_adapter方法。你可以用两种方式做到这一点:
1)指定Window.new方法的适配器:
RAutomation::Window.new(:title => //, :adapter => :win_ffi)
2)在环境变量中指定适配器:
set RAUTOMATION_ADAPTER=win_ffi