class RDee::BrowserFactory

Attributes

android_capabilities[RW]
android_options[RW]
chrome_options[RW]
firefox_options[RW]
ie_options[RW]
ios_capabilities[RW]
ios_options[RW]
persistent_http[RW]
safari_options[RW]
url[RW]

Public Instance Methods

selenium_browser(target, options) click to toggle source
# File lib/rdee/browser_factory.rb, line 25
def selenium_browser(target, options)
  platform, options = platform_and_options(target, options)
  selenium_browser_for(platform, options)
end
watir_browser(target, options) click to toggle source
# File lib/rdee/browser_factory.rb, line 20
def watir_browser(target, options)
  platform, options = platform_and_options(target, options)
  watir_browser_for(platform, options)
end

Private Instance Methods

http_client() click to toggle source
# File lib/rdee/browser_factory.rb, line 71
def http_client
  Selenium::WebDriver::Remote::Http::Persistent.new
end
platform_and_options(target, options) click to toggle source
# File lib/rdee/browser_factory.rb, line 58
def platform_and_options(target, options)
  target = ENV['RDEE_BROWSER'].to_sym if ENV['RDEE_BROWSER']
  platform, version, host = parse(target)
  options.merge! additional_options_for target
  options[:url] = url unless url.nil?
  if options.include? :url
    options[:desired_capabilities] = capabilities(platform, version, host, options[:desired_capabilities])
    platform = :remote
  end
  options[:http_client] = http_client if persistent_http or options.delete(:persistent_http)
  return platform, options
end
selenium_browser_for(platform, options) click to toggle source
# File lib/rdee/browser_factory.rb, line 45
def selenium_browser_for(platform, options)
  begin
    if options.empty?
      Selenium::WebDriver.for platform
    else
      Selenium::WebDriver.for platform, options
    end
  rescue Exception => e
    $stderr.puts e
    raise RDee::ConnectionError, e
  end
end
watir_browser_for(platform, options) click to toggle source
# File lib/rdee/browser_factory.rb, line 32
def watir_browser_for(platform, options)
  begin
    if options.empty?
      Watir::Browser.new platform
    else
      Watir::Browser.new platform, options
    end
  rescue Exception => e
    $stderr.puts e
    raise RDee::ConnectionError, e
  end
end