Ruby Page Object Gem - Codoid
Select Page
Codoid Blog

Ruby Page Object Gem

Irrespective of the business that your client is in, marketing is an integral part of their operations. In fact, in this day and age of social.

In our previous blog post, we published how to create/setup a Ruby-Cucumber project with a sample script. Now we are going to show you how to create a page with Page Object gem.

We, at Codoid are handling multiple software automation testing projects using various automation testing tools and frameworks, but working with Ruby-cucumber along with Page Object gem is unique and wonderful experience.

Let’s move on to topic.

Step Definition

Given(/^I launch (.*) url$/) do |url|
  on(LoginPage).navigate_to url
end

And(/^I click on Login tab$/) do
  on(LoginPage).click_login_tab
end

And(/^I enter username$/) do
  on(LoginPage).enter_username("xxxxxxxxxxx")
end

And(/^I enter password$/) do
  on(LoginPage).enter_password("yyyyyyyyyyy")
end

When(/^I click Login button$/) do
  on(LoginPage).click_login_button
end

Then(/^I see Home page$/) do
  on(LoginPage).verify_home_page_header
end
  

Page

class LoginPage
  include PageObject

  link(:lnk_login_tab, :text => 'Login')
  text_field(:txt_username, :id => 'userId')
  text_field(:txt_password, :id => 'password')
  button(:btn_login, :id => 'log_in_button')
  div(:elmnt_dashboard, :text => 'Dashboard')

  def click_login_tab()
    #Click Login tab in Codoid.com-Automation Testing Company
    lnk_login_tab
  end

  def enter_username(username)
    #Enter Username
    self.txt_username=username
  end

  def enter_password(password)
    #Enter Password
    self.txt_password=password
  end

  def click_login_button
    #Click Login button
    btn_login
  end

  def verify_home_page_header()
    #Wait for Home page after login
    elmnt_dashboard_element.when_visible
  end
end
  

Feel free to contact us, if you have any questions/suggestions.

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *


In our previous blog post, we published how to create/setup a Ruby-Cucumber project with a sample script. Now we are going to show you how to create a page with Page Object gem.

We, at Codoid are handling multiple software automation testing projects using various automation testing tools and frameworks, but working with Ruby-cucumber along with Page Object gem is unique and wonderful experience.

Let’s move on to topic.

Step Definition

Given(/^I launch (.*) url$/) do |url|
  on(LoginPage).navigate_to url
end

And(/^I click on Login tab$/) do
  on(LoginPage).click_login_tab
end

And(/^I enter username$/) do
  on(LoginPage).enter_username("xxxxxxxxxxx")
end

And(/^I enter password$/) do
  on(LoginPage).enter_password("yyyyyyyyyyy")
end

When(/^I click Login button$/) do
  on(LoginPage).click_login_button
end

Then(/^I see Home page$/) do
  on(LoginPage).verify_home_page_header
end
  

Page

class LoginPage
  include PageObject

  link(:lnk_login_tab, :text => 'Login')
  text_field(:txt_username, :id => 'userId')
  text_field(:txt_password, :id => 'password')
  button(:btn_login, :id => 'log_in_button')
  div(:elmnt_dashboard, :text => 'Dashboard')

  def click_login_tab()
    #Click Login tab in Codoid.com-Automation Testing Company
    lnk_login_tab
  end

  def enter_username(username)
    #Enter Username
    self.txt_username=username
  end

  def enter_password(password)
    #Enter Password
    self.txt_password=password
  end

  def click_login_button
    #Click Login button
    btn_login
  end

  def verify_home_page_header()
    #Wait for Home page after login
    elmnt_dashboard_element.when_visible
  end
end
  

Feel free to contact us, if you have any questions/suggestions.