I am new to ruby and I have this weird problem. I have installed ruby 1.9.3p125, Oracle11gXE(ver 11.2.0.2.0) on 64-bit Win7. I am able to run without any problems this script:
require 'watir-webdriver'
browser = Watir::Browser.new
browser.close
and also this script:
require 'oci8'
conn = OCI8.new('username/passwd')
conn.logoff
But as soon as I do this:
require 'watir-webdriver'
require 'oci8'
browser = Watir::Browser.new
browser.close
Things go wrong – I get this error:
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 193: %1 is not a valid Win32 application. - C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/openssl.so (LoadError)
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/1.9.1/openssl.rb:17:in `<top (required)>'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/1.9.1/net/https.rb:22:in `<top (required)>'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote/http/default.rb:1:in `<top (required)>'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/remote.rb:9:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/firefox/bridge.rb:6:in `<module:Firefox>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/firefox/bridge.rb:3:in `<module:WebDriver>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/firefox/bridge.rb:2:in `<module:Selenium>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/firefox/bridge.rb:1:in `<top (required)>'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/firefox.rb:12:in `<top (required)>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver/common/driver.rb:31:in `for'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.26.0/lib/selenium/webdriver.rb:65:in `for'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/browser.rb:35:in `initialize'
from problem.rb:3:in `new'
from problem.rb:3:in `<main>'
Press any key to continue . . .
On the other hand this is working fine:
require 'watir-webdriver'
require 'oci8'
conn = OCI8.new('username/passwd')
conn.logoff
Could you help me to fix this? It seems ‘watir-webdriver’ has some problems when ‘oci8’ is required. But this might be wrong assumption – it might be some configuration problem. Thanks for your help!
Try the following code.
The LoadError is raised when openssl.so is loaded.
As far as I tested, loading openssl after oci8 produces same error and the inverse works fine.