Class: TestCentricity::PageManager

Inherits:
Object
  • Object
show all
Defined in:
lib/testcentricity_web.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#current_page ⇒ Object

Returns the value of attribute current_page.



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

def current_page
  @current_page
end

Class Method Details

.current_page ⇒ PageObject

Get the currently active PageObject

Examples:

active_page = TestCentricity::PageManager.current_page

Returns:



87
88
89
# File 'lib/testcentricity_web.rb', line 87

def self.current_page
  @current_page
end

.current_page=(page) ⇒ Object

Sets the currently active PageObject

Examples:

TestCentricity::PageManager.current_page = product_search_page

Parameters:

  • page (PageObject) —

    Reference to the active PageObject



97
98
99
# File 'lib/testcentricity_web.rb', line 97

def self.current_page=(page)
  @current_page = page
end

.find_page(page_name) ⇒ Object



76
77
78
79
# File 'lib/testcentricity_web.rb', line 76

def self.find_page(page_name)
  (page_name.is_a? String) ? page_id = page_name.gsub(/\s+/, '').downcase.to_sym : page_id = page_name
  @page_objects[page_id]
end

.loaded? ⇒ Boolean

Have all PageObjects been registered?

Examples:

TestCentricity::PageManager.loaded?

Returns:

  • (Boolean) —

    true if all PageObjects have been registered



72
73
74
# File 'lib/testcentricity_web.rb', line 72

def self.loaded?
  !@page_objects.empty?
end

.register_page_objects(pages) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/testcentricity_web.rb', line 48

def self.register_page_objects(pages)
  result = ''
  pages.each do |page_object, page_class|
    obj = page_class.new
    @page_objects[page_object] = obj unless @page_objects.has_key?(page_object)
    page_names = obj.page_name
    page_names = Array(page_names) if page_names.is_a? String
    page_names.each do |name|
      page_key = name.gsub(/\s+/, '').downcase.to_sym
      if page_key != page_object
        @page_objects[page_key] = obj unless @page_objects.has_key?(page_key)
      end
      result = "#{result}def #{page_object};@#{page_object} ||= TestCentricity::PageManager.find_page(:#{page_object});end;"
    end
  end
  result
end

.set_current_page(page) ⇒ Object

Deprecated.

Please use #current_page= instead

Sets the currently active PageObject

Examples:

TestCentricity::PageManager.set_current_page(product_search_page)

Parameters:

  • page (PageObject) —

    Reference to the active PageObject



108
109
110
111
# File 'lib/testcentricity_web.rb', line 108

def self.set_current_page(page)
  warn "[DEPRECATION] 'TestCentricity::PageManager.set_current_page' is deprecated.  Please use 'current_page=' instead."
  @current_page = page
end