Project

sr-webrat

0.75
No commit activity in last 3 years
No release in over 3 years
Webrat. Ruby Acceptance Testing for Web applications
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 1.2.0
 Project Readme

Description¶ ↑

Webrat lets you quickly write expressive and robust acceptance tests for a Ruby web application.

Features¶ ↑

  • Browser Simulator for expressive, high level acceptance testing without the performance hit and browser dependency of Selenium or Watir (See Webrat::Session)

  • Use the same API for Browser Simulator and real Selenium tests using Webrat::Selenium when necessary (eg. for testing AJAX interactions)

  • Supports multiple Ruby web frameworks: Rails, Merb and Sinatra

  • Supports popular test frameworks: RSpec, Cucumber, Test::Unit and Shoulda

  • Webrat::Matchers API for verifying rendered HTML using CSS, XPath, etc.

Example¶ ↑

class SignupTest < ActionController::IntegrationTest

  def test_trial_account_sign_up
    visit home_path
    click_link "Sign up"
    fill_in "Email", :with => "good@example.com"
    select "Free account"
    click_button "Register"
  end

end

Behind the scenes, Webrat will ensure:

  • If a link, form field or button is missing, the test will fail.

  • If a URL is invalid, the test will fail.

  • If a page load or form submission is unsuccessful, the test will fail.

Installing Nokogiri¶ ↑

Users of Debian Linux (e.g. Ubuntu) need to run:

sudo apt-get install libxslt1-dev libxml2-dev.

Otherwise the Nokogiri gem, which Webrat depends on, won’t install properly.

Install for Rails¶ ↑

To install the latest release as a gem:

sudo gem install webrat

To install the latest code as a plugin: (Note: This may be less stable than using a released version)

script/plugin install git://github.com/brynary/webrat.git

In your test_helper.rb or env.rb (for Cucumber) add:

require "webrat"

Webrat.configure do |config|
  config.mode = :rails
end

Install with Merb¶ ↑

Merb 1.0 has built-in, seamless Webrat support. Just start using methods from Webrat::Session in your specs.

Authors¶ ↑

License¶ ↑

Copyright © 2007-2008 Bryan Helmkamp, Seth Fitzsimmons. See MIT-LICENSE.txt in this directory.