lib/selenium-connect/runner.rb in selenium-connect-1.5.1 vs lib/selenium-connect/runner.rb in selenium-connect-1.6.0

- old
+ new

@@ -1,7 +1,10 @@ -require 'selenium-connect/runner/firefox' -require 'selenium-connect/runner/ie' +require 'selenium-connect/runners/firefox' +require 'selenium-connect/runners/ie' +require 'selenium-connect/runners/chrome' +require 'selenium-connect/runners/no_browser' +require 'selenium-connect/runners/saucelabs' module SeleniumConnect class Runner attr_reader :driver, :config @@ -15,24 +18,31 @@ def set_server_url "http://#{config.host}:#{config.port}/wd/hub" end def init_driver - Selenium::WebDriver.for( - :remote, - :url => set_server_url, - :desired_capabilities => get_browser) + if config.host == 'saucelabs' + Saucelabs.new(config).launch + else + Selenium::WebDriver.for( + :remote, + :url => set_server_url, + :desired_capabilities => get_browser) + end end def get_browser - case config.browser - when "firefox" - Firefox.new(config).capabilities - when "ie" - InternetExplorer.new(config).capabilities - else - puts "No valid browser specified" - end + browser = browsers.find { |browser| browser.match? } + browser.launch + end + + def browsers + firefox = Firefox.new(config) + ie = InternetExplorer.new(config) + chrome = Chrome.new(config) + no_browser = NoBrowser.new(config) + + browsers = [ firefox, ie, chrome, no_browser ] end end #Runner end #SeleniumConnect