Capybara: Acceptance test framework for web applications
github.com
github.com
Either way, I really enjoy Capybara -- especially being able to jump between different drivers for various reasons.
First, using the poltergeist driver [1] which is PhantomJS based will tend to be faster AND raise errors when a javascript error occurs (unlike capybara-webkit), which is really handy if your app has a bit of javascript.
Also, you can inject puffing-billy [2] into the mix: this is a proxy that will allow you to mock XHR queries without touching the javascript libraries. This allows to write full integration specs for scenarios involving libraries like Stripe/Recurly.js etc, but using mocked calls.
[1] https://github.com/teampoltergeist/poltergeist
In order to prevent this you need to delay Capybara's processing so that all requests have finished using a request counter. Information is here: http://tonyhb.com/stop-treading-water-with-marionette-and-ca...
Other than that, Capybara is absolutely amazing. It doesn't replace manual UI testing by any means, though it provides a lot of confidence knowing we haven't broken critical components of our app.