Method: PageObjectWrapper::PageObject.open_page

Defined in:
lib/page_object_wrapper/PageObject.rb

.open_page(label, optional_hash = nil) ⇒ Object

Raises:



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/page_object_wrapper/PageObject.rb', line 170

def self.open_page label, optional_hash=nil
  raise PageObjectWrapper::BrowserNotFound if PageObjectWrapper.browser.nil?
  page_object = PageObject.find_page_object(label)
  url = ''
  url += PageObjectWrapper.domain if page_object.locator_value[0]=='/'
  url += page_object.locator_value
  if not (optional_hash.nil? or optional_hash.empty?)
    optional_hash.each{|k,v|
      raise ArgumentError, "#{k.inspect} not Symbol" if not k.is_a? Symbol
      raise ArgumentError, "#{v.inspect} not meaningful String" if not v.is_a? String or v.empty?
      raise PageObjectWrapper::DynamicUrl, "#{k.inspect} not known parameter" if not url.match(':'+k.to_s)
      url.gsub!(/:#{k.to_s}/, v)
    }
  end
  PageObjectWrapper.browser.goto url
end