#cucumber #rautomation
#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. Если я использую (обычный) ruby с rubymine, у меня не возникает никаких проблем. Stackoverflow не позволит мне закрыть мой вопрос, пока у меня не будет 100 репутации.
Комментарии:
1. Готово — сделано. Проблема заключается в использовании Jruby. Если я использую (обычный) ruby с rubymine, у меня не возникает никаких проблем. Stackoverflow не позволит мне закрыть мой вопрос, пока у меня не будет 100 репутации.
2. Вам не нужно закрывать вопрос. Отправьте свой комментарий в качестве ответа и примите его.
3. Да, это то, что я имел в виду.. Это не позволит мне ответить на мой собственный вопрос, пока у меня не будет 100 репутации… Итак, я добавил его в качестве комментария
Ответ №1:
Это происходит потому, что RAutomation определял совместимость с RUBY_PLATFORM. В следующей версии вместо этого будет использоваться переменная среды ОС: 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