Sha256: b161dfab4e7717c7793d90b4c7b131dc1ec61a4b000990e8a7c863243e1371c3

Contents?: true

Size: 1.19 KB

Versions: 4

Compression:

Stored size: 1.19 KB

Contents

require 'selenium-connect/runners/firefox'
require 'selenium-connect/runners/ie'
require 'selenium-connect/runners/chrome'
require 'selenium-connect/runners/phantomjs'
require 'selenium-connect/runners/no_browser'
require 'selenium-connect/runners/saucelabs'

module SeleniumConnect
  class Runner
    attr_reader :driver, :config

    def initialize(config)
      @config = config
      @driver = init_driver
    end

    private

    def set_server_url
      "http://#{config.host}:#{config.port}/wd/hub"
    end

    def init_driver
      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
      browser = browsers.find { |browser| browser.match? }
      browser.launch
    end

    def browsers
      firefox     = Firefox.new(config)
      ie          = InternetExplorer.new(config)
      chrome      = Chrome.new(config)
      phantomjs   = PhantomJS.new(config)
      no_browser  = NoBrowser.new(config)

      browsers = [ firefox, ie, chrome, phantomjs, no_browser ]
    end

  end #Runner
end #SeleniumConnect

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
selenium-connect-2.0.0 lib/selenium-connect/runner.rb
selenium-connect-1.9.3 lib/selenium-connect/runner.rb
selenium-connect-1.9.1 lib/selenium-connect/runner.rb
selenium-connect-1.9.0 lib/selenium-connect/runner.rb