Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Headless integration testing w/ HtmlUnit: enables testing JavaScript-driven web sites
JavaScript Ruby Java
Tree: 9a97aea7f9

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
_backup
doc
example/cucumber
lib
test
.gitignore
MIT-LICENSE
README.textile
TODO
init.rb

README.textile

Steam

Steam is a headless integration testing tool driving HtmlUnit to enable testing JavaScript-driven web sites. In that it is similar to Culerity which drives Celerity (which also drives HtmlUnit).

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.

Configuration
=====

You can control some parameters in init.rb for fitting your needs:

Steam.configure do |config|
#:javaloadparams: “-Xms256M -Xmx2048M”
config.java_load_params = “-Xmx2048M”
# your test server running steam
config.server_name = “localhost”
# the port you start your test server
config.server_port = “3000”
# the url scheme for rack
config.rack_url_scheme = “http”
# defaut charset
config.charset = “utf-8”
# DRB uri
config.drb_uri = “druby://127.0.0.1:9000”
# for which server the session request the env
config.request_env_for = “http://localhost”
end

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>

Something went wrong with that request. Please try again.