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