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の使用法にあります。(プレーン)ルビーをルビミンと一緒に使用すれば、問題はありません。Stackoverflowでは、評判が100になるまで質問を閉じることができません。

4

1 に答える 1

2

これは、RAutomationがRUBY_PLATFORMから互換性を判断していたために発生します。次のバージョンでは、代わりにOS環境変数を使用します: https ://github.com/jarmo/RAutomation/commit/dd825b04aab6d90cfedf385a620095c17da92644

ただし、#default_adapterメソッドが実行されないようにアダプター自体を指定することで、JRubyで今すぐ使用することもできます(ただし、テストされていませんが、機能するはずです)。これは2つの方法で実行できます。

1)Window.newメソッドへのアダプターを指定します。

RAutomation::Window.new(:title => //, :adapter => :win_ffi)

2)環境変数でアダプターを指定します。

set RAUTOMATION_ADAPTER=win_ffi
于 2011-10-28T12:37:42.623 に答える