Ruby - watir: не удалось получить интерфейс IEnum

Я использую Windows XP, и мне нужно использовать watir с рубином, установка прошла очень хорошо, моя последняя попытка была следовать инструкциям здесь Ошибка установки WATIR Server 2003, и все было в порядке, кроме этой« ОШИБКА: при создании документации для builder-2.1.2 »установка завершилась без проблем.

Проблема в том, что когда я пытаюсь запустить образец сценария для выполнения поиска в Google, я получаю сообщение об ошибке при вызове функции set, до сих пор я не нашел никакой полезной информации об этом, если бы кто-нибудь мог мне помочь, это было бы отличный :)

кстати, здесь http://www.mail-archive.com/[email protected]/msg07722.html они говорят, что это связано с WIN32OLE, но не объясняют, как это исправить (или, по крайней мере, я не понял: s)

Я установил следующие версии


    ruby -v
    ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

    gem env
    RubyGems Environment:
      - RUBYGEMS VERSION: 1.3.7
      - RUBY VERSION: 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
      - INSTALLATION DIRECTORY: c:/ruby/lib/ruby/gems/1.8
      - RUBY EXECUTABLE: c:/ruby/bin/ruby.exe
      - EXECUTABLE DIRECTORY: c:/ruby/bin
      - RUBYGEMS PLATFORMS:
        - ruby
        - x86-mswin32-60
      - GEM PATHS:
         - c:/ruby/lib/ruby/gems/1.8
         - C:/Documents and Settings/jamontoya/.gem/ruby/1.8
      - GEM CONFIGURATION:
         - :update_sources => true
         - :verbose => true
         - :benchmark => false
         - :backtrace => false
         - :bulk_threshold => 1000
      - REMOTE SOURCES:
         - http://rubygems.org/

Ошибка

c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/locator.rb:119:in `each': failed to get IEnum Interface (RuntimeError)
    HRESULT error code:0x80004002
      No such interface supported       from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/locator.rb:119:in `locate'
        from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/container.rb:838:in `locate_input_element'
        from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/input_elements.rb:5:in `locate'
        from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/element.rb:54:in `assert_exists'
        from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/element.rb:315:in `enabled?'
        from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/element.rb:62:in `assert_enabled'
        from c:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.6/lib/watir/input_elements.rb:364:in `set'
        from Search.rb:29

Пример кода (Search.rb) Я удалил комментарии и другие ненужные строки


    require "watir"

    test_site = "http://www.google.com"

    browser = Watir::Browser.new
    browser.goto test_site
    browser.text_field(:name, "q").set("pickaxe")  # here is the error when set is called
    browser.button(:name, "btnG").click
    browser.close

список драгоценных камней на всякий случай

*** LOCAL GEMS ***

activesupport (2.3.9)
builder (2.1.2)
commonwatir (1.6.6)
firewatir (1.6.6)
fxri (0.3.6)
fxruby (1.6.12 mswin32)
hoe (2.6.2)
hpricot (0.6 mswin32)
json_pure (1.4.6)
log4r (1.0.5)
nokogiri (1.4.3.1 x86-mswin32)
rake (0.8.7, 0.7.3)
rubyforge (2.0.4)
rubygems-update (1.3.7)
s4t-utils (1.0.4)
sources (0.0.1)
user-choices (1.1.6.1)
watir (1.6.6)
win32-api (1.4.6 x86-mswin32-60, 1.0.4 mswin32)
win32-clipboard (0.4.3)
win32-dir (0.3.2)
win32-eventlog (0.4.6)
win32-file (0.5.4)
win32-file-stat (1.2.7)
win32-process (0.6.2, 0.5.3)
win32-sapi (0.1.4)
win32-sound (0.4.1)
windows-api (0.4.0, 0.2.0)
windows-pr (1.0.9, 0.7.2)
xml-simple (1.0.12)

person Jorge    schedule 14.10.2010    source источник


Ответы (1)


Watir не может найти ветку интерфейса IEnum, на которую вы ссылаетесь чтобы сказать:

мое лучшее предложение - удалить и переустановить Ruby, а затем переустановить Watir поверх нового Ruby.

и это тоже был бы мой совет.

person Željko Filipin    schedule 19.10.2010
comment
спасибо за совет, но я уже делал это и тоже не работал, на самом деле я устанавливал разные версии ruby ​​с одинаковым результатом, я даже пытался установить одновременно две разные версии ruby ​​(1.8.6 и 1.8.6. 7) так и не вышло :( - person Jorge; 20.10.2010
comment
Попробуйте на другой машине, может на этой что-то сломалось. - person Željko Filipin; 21.10.2010