Module: SeleniumPlus

Defined in:
lib/selenium_plus.rb,
lib/selenium_plus/driver.rb,
lib/selenium_plus/finders.rb,
lib/selenium_plus/version.rb,
lib/selenium_plus/exceptions.rb,
lib/selenium_plus/page_obj/page.rb,
lib/selenium_plus/selenium/table.rb,
lib/selenium_plus/selenium/select.rb,
lib/selenium_plus/page_obj/section.rb,
lib/selenium_plus/page_obj/container.rb

Defined Under Namespace

Modules: Container, Elements, Exceptions, Finders Classes: Driver, Page, Section

Constant Summary collapse

VERSION =
'0.0.7'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.current_driverSymbol

The name of the driver currently in use

Returns:

  • (Symbol)


80
81
82
# File 'lib/selenium_plus.rb', line 80

def current_driver
  @current_driver
end

.default_driverSymbol

The name of default driver

Returns:

  • (Symbol)


73
74
75
# File 'lib/selenium_plus.rb', line 73

def default_driver
  @default_driver
end

.default_wait_timeObject

Returns the value of attribute default_wait_time.



31
32
33
# File 'lib/selenium_plus.rb', line 31

def default_wait_time
  @default_wait_time
end

.driverObject

Returns the value of attribute driver.



31
32
33
# File 'lib/selenium_plus.rb', line 31

def driver
  @driver
end

.enable_highlight_elementObject

Returns the value of attribute enable_highlight_element.



31
32
33
# File 'lib/selenium_plus.rb', line 31

def enable_highlight_element
  @enable_highlight_element
end

Class Method Details

.configure {|_self| ... } ⇒ Object

Configure SeleniumPlus

Examples:

SeleniumPlus.configure do |config|
  config.default_wait_time  = 10
  config.enable_highlight   = true
end
default_wait_time = Integer
enable_highlight_element = Boolean

Yields:

  • (_self)

Yield Parameters:

  • _self (SeleniumPlus)

    the object that the method was called on



44
45
46
# File 'lib/selenium_plus.rb', line 44

def configure
  yield self
end

.driversArray

All register drivers

Returns:

  • (Array)


66
67
68
# File 'lib/selenium_plus.rb', line 66

def drivers
  @drivers ||= {}
end

.register_driver(name) { ... } ⇒ Object

Register a new driver for SeleniumPlus

Example:

SeleniumPlus.register_driver :chrome_driver do
  SeleniumPlus::Driver.new(:browser => :chrome)
end

Parameters:

  • name (Symbol)

    The name of the new driver

Yields:

  • A block executed in the context of the new Driver

Returns:

  • nothing



59
60
61
# File 'lib/selenium_plus.rb', line 59

def register_driver(name, &block)
  drivers[name] = block
end

.use_default_driverObject

Use the default driver as the current driver



86
87
88
# File 'lib/selenium_plus.rb', line 86

def use_default_driver
  @current_driver = nil
end

.using_driver(driver) ⇒ Object



90
91
92
93
94
95
96
97
98
# File 'lib/selenium_plus.rb', line 90

def using_driver(driver)
  unless drivers.has_key?(driver)
    other_drivers = drivers.keys.map { |key| key.inspect }
    raise SeleniumPlus::Exceptions::DriverNotFoundError, "Driver #{driver} was not found. Available types: #{other_drivers.join(', ')}"
  end
  if @driver.nil? || @driver.native.browser != driver
    @driver = drivers[driver].call
  end
end