tags:

views:

33

answers:

1

Hello, I'm using windows XP and I need to use watir with ruby, the installation went pretty well, my last try was following the instructions here http://stackoverflow.com/questions/3643179/failed-watir-installation-server-2003 and everything was ok except for this "ERROR: While generating documentation for builder-2.1.2" then the installation finished with no more problems.

The problem is when I try to run a sample script to execute a google search I got an error when the set function is called, so far I haven't found any useful information about it, if anyone could give me a hand it would be great :)

btw, here http://www.mail-archive.com/[email protected]/msg07722.html they say that it is related to WIN32OLE but they don't explain how to fix it (or at least I didn't get it :s )

The versions I've installed are


    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/

The error

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

The sample code (Search.rb) I removed comments and other unnecessary lines


    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

gem list just in case you need to know

*** 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)
A: 

Watir can't find IEnum interface thread that you link to says:

my best suggestion is to uninstall and reinstall Ruby, then re-install Watir on top of the new Ruby

and that would be my advice too.

Željko Filipin
thanks for the advice, but I already did that and didn't work either, in fact I installed different ruby versions with the same result, I even tried to have 2 different ruby versions installed at the same time (1.8.6 and 1.8.7) and didn't work :(
Jorge
Try at another machine, maybe something is broken on this one.
Željko Filipin