Method: PageObject::PageFactory#on_page

Defined in:
lib/page-object/page_factory.rb

#on_page(page_class, params = {:using_params => {}}, visit = false, &block) ⇒ PageObject Also known as: on

Create a page object.

available in the @params instance variable.

Parameters:

  • a (PageObject, String)

    class that has included the PageObject module or a string containing the name of the class

  • Hash

    values that is pass through to page class a

  • a (Boolean)

    boolean indicating if the page should be visited? default is false.

  • an (block)

    optional block to be called

Returns:



69
70
71
72
73
74
75
76
77
# File 'lib/page-object/page_factory.rb', line 69

def on_page(page_class, params={:using_params => {}}, visit=false, &block)
  page_class = class_from_string(page_class) if page_class.is_a? String
  return super(page_class, params, visit, &block) unless page_class.ancestors.include? PageObject
  merged = page_class.params.merge(params[:using_params])
  page_class.instance_variable_set("@merged_params", merged) unless merged.empty?
  @current_page = page_class.new(@browser, visit)
  block.call @current_page if block
  @current_page
end