rautomation - 在RubyMine中使用jRuby - 获取错误

时间:2011-10-26 15:40:29

标签: cucumber rautomation

我一直在寻找自动化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个声誉。

1 个答案:

答案 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