Download →

What is Celerity?

Celerity is a JRuby library for easy and fast functional test automation for web applications. It is a wrapper around the HtmlUnit Java library and is currently aimed at providing the same API and functionality as Watir.

Features

Requirements

Background

FINN.no is a top provider of online classifieds in Europe. Consequently automated functional testing is an essential part of our quality assurance effort. As of spring 2008 our Watir test suite, consisting of 340 test cases (which only covers part of our application), completes in 3 hours. Obviously, not optimal for an agile development environment.

We need a faster alternative. At the same time, we enjoy working with Ruby and Watir's API. By providing this API on top of HtmlUnit, we hope to significantly speed up test suite execution, while avoiding a rewrite of our existing test suite. Early benchmarks are available.

Installing Celerity

                
jruby -S gem install celerity
                
                

Code example

                
require "rubygems"
require "celerity" 

browser = Celerity::Browser.new
browser.goto('http://www.google.com')
browser.text_field(:name, 'q').value = 'Celerity'
browser.button(:name, 'btnG').click

puts "yay" if browser.text.include? 'celerity.rubyforge.org'
                
                

For more examples and help, check our tutorial.

How to submit patches

Read the 8 steps for fixing other people's code. The trunk repository is svn://rubyforge.org/var/svn/celerity/trunk for anonymous access. Failing specs for issues/features you don't know how to implement yourself are most welcome.

License

Celerity is licensed under the GPLv3 license.

Contact

Comments are welcome. You can reach us through our mailing lists, our forum, or our individual email addresses below.

Developers