Prev: remove overall indentation preserving reletive indentation
Next: non-blocking calls to external APIs
From: Joe Dimauro on 27 Mar 2010 18:03 Installed Watir (v1.6.5) on top of Ruby (v1.8.6) on my 32bit WinXP and 64 bit Vista systems. Ran into way too many issues trying to use Ruby 1.9.1 (64-bit) and Watir(v1.6.5), so degraded to try these older versions, as Watir site recommends. Are versions of Watir (v1.6.5) and Ruby (v1.8.6) for Vista 64-bit available? If so where? This is the four line program that run OK on 32bit XP, but fails on 64 bit Vista. require 'Watir' browser=Watir::Browser.new browser.minimize # Fails on this line browser.close Here's the irb session on the 64-bit Vista system: C:\>irb irb(main):001:0> require 'Watir' => true irb(main):002:0> browser=Watir::Browser.new => #<Watir::IE:0x4c98a5c url="about:blank" title=""> irb(main):003:0> browser.minimize WIN32OLERuntimeError: unknown OLE server: `AutoItX3.Control' HRESULT error code:0x800401f3 Invalid class string from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie.rb:114:in `initialize' from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie.rb:114:in `new' from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie.rb:114:in `autoit' from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:438:in `autoit' from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:435:in `set_window_state' from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/ie-class.rb:416:in `minimize' from (irb):3 irb(main):004:0> exit FYI: Here's the output from gem's env command: C:\>gem env RubyGems Environment: - RUBYGEMS VERSION: 1.3.6 - RUBY VERSION: 1.8.6 (2008-08-11 patchlevel 287) [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:/Users/Me/.gem/ruby/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/ Here's relevant definition from the Watir file: ie-class.rb 414 # Minimize the window (appears as icon on taskbar) 415 def minimize 416 set_window_state :SW_MINIMIZE 417 end 434 def set_window_state(state) 435 autoit.WinSetState title, '', autoit.send(state) 436 end 437 def autoit 438 Watir::autoit 439 end Here's relevant definition from the Watir file: ie.rb: 108 def self.autoit 109 unless @@autoit 110 begin 111 @@autoit = WIN32OLE.new('AutoItX3.Control') 112 rescue WIN32OLERuntimeError 113 _register('AutoItX3.dll') 114 @@autoit = WIN32OLE.new('AutoItX3.Control') 115 end 116 end 117 @@autoit 118 end -- Posted via http://www.ruby-forum.com/. |