-
#webrat on Freenode
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 => "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.
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.
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
Merb 1.0 has built-in, seamless Webrat support. Just start using methods from Webrat::Session in your specs.
-
Maintained by Bryan Helmkamp
-
Original code written by Seth Fitzsimmons
-
Initial development was sponsored by EastMedia
-
Many other contributors. See attributions in History.txt
Copyright © 2007-2008 Bryan Helmkamp, Seth Fitzsimmons. See MIT-LICENSE.txt in this directory.