Я использую Windows XP, и мне нужно использовать watir с ruby, установка прошла очень хорошо, моя последняя попытка следовала приведенным здесь инструкциям Не удалось установить WATIR Server 2003 и все было в порядке, кроме этого«ОШИБКА: при создании документации для builder-2.1.2» установка завершилась без проблем.
Проблема в том, что когда я пытаюсь запустить пример сценария для выполнения поиска в Google, я получаю сообщение об ошибке при вызове функции set, но пока я не нашел никакой полезной информации об этом, если кто-нибудь мог бы датьмне руку, было бы здорово:)
кстати, здесь http://www.mail-archive.com/wtr-general@rubyforge.org/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)