Module: MediawikiSelenium::PageFactory
- Includes:
- PageObject::PageFactory
- Defined in:
- lib/mediawiki_selenium/page_factory.rb
Overview
Handles on-demand browser instantiation and assignment of the @browser
instance variable before delegating to PageObject::PageFactory
methods.
Instance Method Summary collapse
-
#on_page(page_class, params = { using_params: {} }, visit = false) ⇒ Object
(also: #on)
Instantiates a new browser before delegating to
PageObject::PageFactory#on_page
.
Instance Method Details
#on_page(page_class, params = { using_params: {} }, visit = false) ⇒ Object Also known as: on
Instantiates a new browser before delegating to
PageObject::PageFactory#on_page
. All page URLs are also qualified
using Environment#wiki_url.
Additionally, an instance of the current Environment is made available
as env
for interpolation of page URLs.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/mediawiki_selenium/page_factory.rb', line 24 def on_page(page_class, params = { using_params: {} }, visit = false) @browser = browser if visit || !defined?(@browser) env = self super(page_class, params, false) do |page| page.define_singleton_method(:env) do env end if page.respond_to?(:goto) wiki_url = method(:wiki_url) page.define_singleton_method(:page_url_value) do wiki_url.call(super()) end page.goto if visit end yield page if block_given? end end |