If you're interested in testing on browsers with their heads intact, have a look at the Watir project, for which Opera has just released an implementation to complete the set: http://operawatir.com
Very interesting. At my work, we use Selenium for writing automated functional tests. I'm wondering how this will stack up against that... Is there a way to capture a screen shot when an assert fails? Often, that has been very useful in error resolution.
A "screenshot" wouldn't be easily done without a browser. ;-)
However, there ought to be a way to dump the DOM as HTML that can then be viewed in a browser. If the feature doesn't exist, it couldn't be all that difficult to write.
Oh wow. If this lets me test the bookmarklet I'm developing without setting up a fake environment, you have made my life much easier. Will try it out real soon.
1. Capybara is Ruby-specific (but generally awesome). This appears to be a pure JS solution as far as I can tell.
2. Capybara (currently) uses envjs for headless full-stack testing.
3. JSDOM, used by Zombie.js, certainly has different characteristics that may make it better/worse under some conditions.
4. If you're thinking Ruby, I doubt that any gems currently integrate with Zombie.js. However, that is also (somewhat easily) changed.
Sadly, full-stack testing in Ruby still kind of sucks. We spent a whole session at Ruby DCamp 2010 discussing the state of affairs. As much as we'd all like a robust headless solution, at the moment, the best browser simulator is still a browser.
YMMV. I've had mixed results with env.js. While not as sexy, I've been using Capybara with the Selenium driver with more success lately.
If you're interested in testing on browsers with their heads intact, have a look at the Watir project, for which Opera has just released an implementation to complete the set: http://operawatir.com
Disclaimer: I work for Opera.