public
Description: Headless integration testing w/ HtmlUnit: enables testing JavaScript-driven web sites
Homepage:
Clone URL: git://github.com/svenfuchs/steam.git
clemens (author)
Sun Nov 29 15:03:59 -0800 2009
commit  7afb080c87c4b37ab45dfd20eb63369433833c13
tree    1172b9a4364bb6e8876eeabc4a74283be520dde9
parent  225fa89477ee37d1dc8cf912eb663f867f3fad78
steam /
name age message
file .gitignore Wed Oct 07 04:45:30 -0700 2009 remove test log [Clemens Kofler and Sven Fuchs]
file MIT-LICENSE Wed Nov 04 14:01:00 -0800 2009 Add readme and license [clemens]
file README Thu Nov 05 16:09:56 -0800 2009 Only run Patron tests if Patron gem is available. [clemens]
file TODO Wed Nov 04 16:03:40 -0800 2009 add todo file [clemens]
directory app/ Sat Oct 03 00:28:34 -0700 2009 initial commit [svenfuchs]
directory config/ Sat Oct 03 00:28:34 -0700 2009 initial commit [svenfuchs]
directory doc/ Mon Nov 09 00:00:03 -0800 2009 add doc/images [svenfuchs]
directory example/ Wed Nov 18 04:12:24 -0800 2009 Add a webrat step file that will work under eit... [robholland]
file init.rb Mon Oct 26 11:10:00 -0700 2009 some minor changes [svenfuchs]
directory lib/ Sun Nov 29 15:03:59 -0800 2009 Better comment to say what's going on. [clemens]
directory test/ Sun Nov 29 15:01:43 -0800 2009 Don't raise Steam::NotFoundError at the moment ... [clemens]
README
Steam
=====

Steam is a headless integration testing tool driving HtmlUnit (http://htmlunit.sourceforge.net/) (and at some point 
potentially other browsers) which enables testing JavaScript-driven web sites.

Concept
=======

Check out the pictures in the "doc" directory to get an idea how Steam is different from a classic (Webrat) Cucumber or 
Culerity setup.

Demo
====

You can find a demo application here:

  http://github.com/clemens/steam-demo

Installation
============

Steam currently has the following dependencies:

* Working Java Runtime
* RJB (if you're on OS X, see Troubleshooting section)

After that, installing Steam for a Rails project should be as simple as typing

  $ ruby script/plugin install git://github.com/svenfuchs/steam.git

Note: Since the HtmlUnit and all the JARs it depends on come packaged with Steam, the download might take a while.

Usage
=====

You can use Steam by itself as well as with Cucumber. You can find an example for a Cucumber setup in 
examples/cucumber/env.rb.

Steam is widely compatible with Webrat - many actions are implemented and take the same or very similar parameters as 
their Webrat equivalent. You should even be able to use the default webrat_steps.rb that ships with Cucumber.

Troubleshooting
===============

Installing RJB on Mac OS X:

  http://www.elctech.com/articles/sudo-java_home-and-mac-os-x

The visudo way worked for us. Don't forget to add yourself to the sudoers file, though.

Acknowledgements
================

Kudos to Alexander Lang (http://github.com/langalex) for writing Culerity (http://github.com/langalex/culerity) which 
pioneered full-stack AJAX-enabled integration testing in Rails.

Developers
==========

Sven Fuchs <svenfuchs@artweb-design.de>
Clemens Kofler <clemens@railway.at>