Module: MediawikiSelenium::BrowserFactory

Defined in:
lib/mediawiki_selenium/browser_factory.rb,
lib/mediawiki_selenium/browser_factory/base.rb,
lib/mediawiki_selenium/browser_factory/chrome.rb,
lib/mediawiki_selenium/browser_factory/firefox.rb,
lib/mediawiki_selenium/browser_factory/phantomjs.rb

Defined Under Namespace

Classes: Base, Chrome, Firefox, Phantomjs

Class Method Summary collapse

Class Method Details

.new(browser_name) ⇒ BrowserFactory::Base

Resolves and instantiates a new factory for the given browser name. If a specific implementation is not defined for the given browser, a Base factory will be returned.

Examples:

Create a new firefox factory

factory = BrowserFactory.new(:firefox)
# => #<MediawikiSelenium::BrowserFactory::Firefox>
factory.browser_for(env) # => #<Watir::Browser>

Parameters:

  • browser_name (Symbol)

    Browser name.

Returns:



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/mediawiki_selenium/browser_factory.rb', line 21

def self.new(browser_name)
  factory_class_name = browser_name.to_s.split('_').map(&:capitalize).join('')

  if const_defined?(factory_class_name)
    factory_class = const_get(factory_class_name)
  else
    factory_class = Base
  end

  factory_class.new(browser_name)
end