Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Webrat - Ruby Acceptance Testing for Web applications
Ruby JavaScript
Pull request Compare This branch is 122 commits behind brynary:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib Fix "element.getAttribute is not a function" Selenium errors when fil…
History.txt History
MIT-LICENSE.txt Add hoe for gem support
README.rdoc updated from master
VERSION Version bump to 0.5.1
install.rb Adding gemspec. Hopfully gem will build on GitHub now
webrat.gemspec Revert "Regenerated gemspec for version 0.5.2"


Webrat - Ruby Acceptance Testing for Web applications


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


  • 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.


class SignupTest < ActionController::IntegrationTest

  def test_trial_account_sign_up
    visit home_path
    click_link "Sign up"
    fill_in "Email", :with => ""
    select "Free account"
    click_button "Register"


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://

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

require "webrat"

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

Install with Merb

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



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

Something went wrong with that request. Please try again.