0

我一直在寻找自动化 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 的使用。如果我将(普通)红宝石与红宝石一起使用,那么我不会遇到任何问题。在我获得 100 名声望之前,Stackoverflow 不允许我结束我的问题。

4

1 回答 1

2

发生这种情况是因为 RAutomation 正在确定 RUBY_PLATFORM 的兼容性。下一个版本将使用 OS 环境变量: 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
于 2011-10-28T12:37:42.623 回答