Project

pagemodels

0.0
No commit activity in last 3 years
No release in over 3 years
See http://www.github.com/rickgrundy/pagemodels
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 10.0.0
>= 2.5.0
 Project Readme
Page Models move complex and copy-pasted code out of your acceptance tests and into easily managed Ruby classes with (optional) integration for Rails, Cucumber, and RSpec.


~~~~~~~~
# env.rb
require 'pagemodels'

PageModels.configure do |config|
  config.driver = :capybara  # Or :celerity, :firefox, :chrome, :ie (browsers will use watir-webdriver)
  config.base_url = "https://www.github.com"
  config.integrate :rspec
  config.integrate :cucumber
  config.integrate :rails
end


~~~~~~~~~~~~~~~~~~~~~~~~~~
# my_cucumber_test.feature
Given I open the GitHub project page for the user "rickgrundy" and the repo "page-models"
When I look at the commit history
Then I should see at least 3 commits


~~~~~~~~~~~~~~~~~~~~~~
# my_cucumber_steps.rb
When /I look at the commit history/ do
  navigate_to_commits
end

Then /I should see at least (\d+) commits/ do |count|
  verify_commit_count(count)
end


~~~~~~~~~~~~~~~~~~~~~~
# GitHubProjectPage.rb
class GitHubProjectPage < PageModels::Base
  def initialize(user, repo)
    @user, @repo = user, repo
  end
  
  def url
    "/#{@user}/#{@repo}/"
  end
  
  def verify!
    should have_content "#{@user} / #{@repo}"
    should have_content "Source"
    should have_content "Commits"
  end
  
  def navigate_to_commits
    click_link "Commits"
  end
  
  def verify_commit_count(count)
    all(".commit").should have_at_least(count).things
  end
end