Webrat - Ruby Acceptance Testing for Web applications
eddd979361
Webrat didn't properly follow internal redirects when using the Host header, this lets Webrat check the Host header before falling back to www.example.com as the current_host. |
||
---|---|---|
lib | ||
spec | ||
vendor | ||
.document | ||
.gitignore | ||
History.txt | ||
install.rb | ||
MIT-LICENSE.txt | ||
Rakefile | ||
README.rdoc |
= Webrat - Ruby Acceptance Testing for Web applications - http://gitrdoc.com/brynary/webrat - http://groups.google.com/group/webrat - http://webrat.lighthouseapp.com/ - http://github.com/brynary/webrat - #webrat on Freenode == 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 - Maintained by {Bryan Helmkamp}[mailto:bryan@brynary.com] - Original code written by {Seth Fitzsimmons}[mailto:seth@mojodna.net] - Initial development was sponsored by EastMedia[http://www.eastmedia.com] - Many other contributors. See attributions in History.txt == License Copyright (c) 2007-2008 Bryan Helmkamp, Seth Fitzsimmons. See MIT-LICENSE.txt in this directory.