Webrat - Ruby Acceptance Testing for Web applications
f2b3b9891b
* Webrat::Session.new now take a session adapter class as it's argument and delegates methods such as #response_body and #response_code to an instance of it. * Some of these methods will go away in the future. However, *a lot* of specs depends on them so I've left them for now. The plan is to strip down the session adapter API to these three methods: * request * response_code * response_body * I had to mark a spec as pending: spec/private/rails/rails_session_spec.rb |
||
---|---|---|
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.