Sha256: 748dcead297c5c7791ab597c15969b73ea78929a0d64a42d342494eae63268c9

Contents?: true

Size: 1.33 KB

Versions: 3

Compression:

Stored size: 1.33 KB

Contents

module Taza
  class Browser
    
    # Create a browser instance depending on configuration.  Configuration should be read in via Taza::Settings.config.
    # 
    # Example:
    #     browser = Taza::Browser.create(Taza::Settings.config)
    #
    def self.create(params={})
      self.send("create_#{params[:driver]}".to_sym,params)
    end
    
    def self.browser_class(params)
      self.send("#{params[:driver]}_#{params[:browser]}".to_sym)
    end

    private    

    def self.create_watir(params)
      method = "watir_#{params[:browser]}"
      raise BrowserUnsupportedError unless self.respond_to?(method)
      watir = self.send(method,params)
      watir
    end

    def self.create_selenium(params)
      require 'selenium'
      Selenium::SeleniumDriver.new(params[:server_ip],params[:server_port],'*' + params[:browser].to_s,params[:timeout])
    end

    def self.watir_firefox(params)
      require 'firewatir'
      FireWatir::Firefox.new
    end

    def self.watir_safari(params)
      require 'safariwatir'
      Watir::Safari.new
    end

    def self.watir_ie(params)
      require 'watir'
      if params[:attach]
         browser = Watir::IE.find(:title, //)
      end
      browser || Watir::IE.new
    end
  end
  
  # We don't know how to create the browser you asked for
  class BrowserUnsupportedError < StandardError; end
end

Version data entries

3 entries across 3 versions & 3 rubygems

Version Path
makevoid-taza-0.8.6 lib/taza/browser.rb
scudco-taza-0.8.7 lib/taza/browser.rb
taza-0.8.7 lib/taza/browser.rb