Skip to content
A simple, lightweight module for creating Page Object Model DSLs
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.coveralls.yml
.gitignore
.ruby-version
.travis.yml
Gemfile
LICENSE.txt
README.md
Rakefile
lite_page.gemspec

README.md

LitePage

Gem Version Build Status Coverage Status

A gem providing a quick, clean, and concise means of implementing the Page Object Model pattern and defining a semantic DSL for automated acceptance tests using watir-webdriver.

Installation

Add this line to your application's Gemfile:

gem 'lite_page'

And then execute:

$ bundle

Or install it yourself as:

$ gem install lite_page

Documentation

You can find comprehensive documentation in the wiki

Example Usage

If using cucumber, include LitePage::PageInitializers in the World instance

World(LitePage::PageInitializers)

Define a page object:

class LoginPage
  include LitePage
  
  page_url('http://www.example.com/login')

  def_elements(:@browser, {
    :username_field => [:text_field, :id => 'username'],
    :password_field => [:text_field, :id => 'password'],
    :log_in_button => [:button, :value => 'Log In']
  })

  def log_in(username, password)
    self.username_field.set(username)
    self.password_field.set(password)
    self.log_in_button.click
  end
end

Interact with the page:

visit(LoginPage).log_in('afinch', 'mockingbird60')

Contributing

  1. Fork it ( http://github.com/saclark/lite_page/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
You can’t perform that action at this time.