Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Headless integration testing w/ HtmlUnit: enables testing JavaScript-driven web sites

tree: 9a97aea7f9

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 _backup
Octocat-spinner-32 doc add doc/images November 09, 2009
Octocat-spinner-32 example
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 MIT-LICENSE Add readme and license November 04, 2009
Octocat-spinner-32 README.textile
Octocat-spinner-32 TODO
Octocat-spinner-32 init.rb last weeks work on integrating Locator and removing lots of cruft February 09, 2010
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.