class TestCentricity::PageManager
Attributes
current_page[RW]
Public Class Methods
current_page()
click to toggle source
Get the currently active PageObject
@return [PageObject] @example
active_page = TestCentricity::PageManager.current_page
# File lib/testcentricity_web.rb, line 87 def self.current_page @current_page end
current_page=(page)
click to toggle source
Sets the currently active PageObject
@param page [PageObject] Reference to the active PageObject
@example
TestCentricity::PageManager.current_page = product_search_page
# File lib/testcentricity_web.rb, line 97 def self.current_page=(page) @current_page = page end
find_page(page_name)
click to toggle source
# File lib/testcentricity_web.rb, line 74 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 = @page_objects[page_id] raise "No page object defined for page named '#{page_name}'" unless page page end
loaded?()
click to toggle source
Have all PageObjects been registered?
@return [Boolean] true if all PageObjects have been registered @example
TestCentricity::PageManager.loaded?
# File lib/testcentricity_web.rb, line 70 def self.loaded? !@page_objects.empty? end
register_page_objects(pages)
click to toggle source
# File lib/testcentricity_web.rb, line 46 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