-
Notifications
You must be signed in to change notification settings - Fork 6
1 Quick Start
Titus edited this page Jan 27, 2018
·
5 revisions
The most basic components of a Watir Drops page object involves only 3 things:
- Inherit from PageObject
class LoginPage < WatirDrops::PageObject
end
- Define Elements:
element(:username) { browser.text_field(label: 'Username')}
element(:password) { browser.text_field(label: 'Password')}
element(:submit_login) { browser.button(text: 'Login')}
- Create Action Methods:
def login(user_model)
self.username = user_model.username
self.password = user_model.password
submit_login.click
end
Access this in your test code like this (RSpec example):
describe "Login Page" do
it 'can log in' do
browser = Watir::Browser.new
WatirDrops::PageObject.browser = browser
browser.goto "http://example.com/login"
login_page = LoginPage.new
login_page.login(username: 'Jonny',
password: 'Appleseed')
expect(login_page.submit_login).to_not be_present
end
end