This is the sample code for creating the page objects in separate file.
page_object_sample.rb
def config #common Settings @browser="ie" end def google_homepage #Web Application URL details @url="http://google.com" #Google Homepage Page Object Models @search_field=$browser.text_field(:name,'q') @search_button=$browser.button(:name => 'btnG') end def bing_homepage @url = "http://bing.com" @search_field=$browser.text_field(:id,'sb_form_q') @search_button=$browser.button(:name => 'go') end
———————————————————————————————————
Code.rb
require 'watir-webdriver'
require 'd:\\page_object_sample.rb'
config
$browser = Watir::Browser.new @browser.to_sym
google_homepage
$browser.goto @url
@search_field.set("Raveendran - Watir Webdriver")
@search_button.click
puts $browser.title
bing_homepage
$browser.goto @url
@search_field.set("Raveendran - Watir Webdriver")
@search_button.click
puts $browser.title
$browser.close
NOTE:
a. We can create the page object model with,
1. IE Developer tool bar for IE browser
2. Firebug for Firefox browser.
b. This is the sample and basic page object model code.
We can customize/develop depends up on our requirement.
c. If the page object will change in future then No need
to worry about the actual script. Just updating the page
object model will fix those kind of issues.
Thanks! It helped me to get started.