[rspec-users] [ANN] Webrat 0.1.0 released - Ruby Acceptance Testing for Web applications
John W. Long
johnwlong2000 at gmail.com
Thu Nov 29 15:52:04 EST 2007
We've been putting something similar together here:
It's for integration testing. The README talks about the navigate_to,
submit_form, and be_showing methods.
On Nov 29, 2007, at 12:44 PM, Bryan Helmkamp wrote:
> Hey guys,
> We developed this plugin while writing my first real set of RSpec
> stories. It's still missing a lot of functionality, but it's useful to
> us as is, so I'm shipping 0.1.0. (Patches welcome. :) )
> Code is available at: http://svn.eastmedia.net/public/plugins/webrat/
> What do you think?
> Here's the README:
> = Webrat - Ruby Acceptance Testing for Web applications
> by Bryan Helmkamp <bryan at brynary.com> and Seth Fitzsimmons <seth at mojodna.net
> Initial development sponsored by EastMedia (http://www.eastmedia.com).
> == DESCRIPTION:
> Webrat lets you quickly write robust and thorough acceptance tests
> for a Ruby
> web application. By leveraging the DOM, it can run tests similarly
> to an
> in-browser testing solution without the associated performance hit
> browser dependency). The result is tests that are less fragile and
> effective at verifying that the app will respond properly to users.
> When comparing Webrat with an in-browser testing solution like Watir
> application uses. In-browser testing is currently the only way to
> test JS, and
> not central
> to your application, Webrat is a simpler, effective solution that
> will let you
> run your tests much faster and more frequently. (Benchmarks
> == SYNOPSIS:
> def test_sign_up
> visits "/"
> clicks_link "Sign up"
> fills_in "Email", :with => "good at example.com"
> select "Free account"
> clicks_button "Register"
> Behind the scenes, this will perform the following work:
> 1. Verify that loading the home page is successful
> 2. Verify that a "Sign up" link exists on the home page
> 3. Verify that loading the URL pointed to by the "Sign up" link
> leads to a
> successful page
> 4. Verify that there is an "Email" input field on the Sign Up page
> 5. Verify that there is an select field on the Sign Up page with an
> option for
> "Free account"
> 6. Verify that there is a "Register" submit button on the page
> 7. Verify that submitting the Sign Up form with the values "good at example.com
> and "Free account" leads to a successful page
> Take special note of the things _not_ specified in that test, that
> might cause
> tests to break unnecessarily as your application evolves:
> * The input field IDs or names (e.g. "user_email" or "user[email]"),
> could change if you rename a model
> * The ID of the form element (Webrat can do a good job of guessing,
> even if
> there are multiple forms on the page.)
> * The URLs of links followed
> * The URL the form submission should be sent to, which could change
> if you
> adjust your routes or controllers
> * The HTTP method for the login request
> A test written with Webrat can handle these changes smoothly.
> == REQUIREMENTS:
> * Rails >= 1.2.6
> * Hpricot >= 0.6
> * Rails integration tests in Test::Unit _or_
> * RSpec stories (using an RSpec version >= revision 2997)
> == INSTALL:
> $ ruby script/plugin install http://svn.eastmedia.net/public/plugins/webrat/
> == HISTORY:
> See CHANGELOG in this directory.
> == LICENSE:
> Copyright (c) 2007 Bryan Helmkamp, Seth Fitzsimmons.
> See MIT-LICENSE in this directory.
> http://brynary.com -- My blog
> rspec-users mailing list
> rspec-users at rubyforge.org
More information about the rspec-users