<img src=“http://travis-ci.org/jarib/celerity.png” />


Celerity is a JRuby library for easy and fast functional test automation for web applications.

Celerity is a JRuby wrapper around HtmlUnit – a headless Java browser with JavaScript support. It provides a simple API for programmatic navigation through web applications. Celerity provides a superset of Watir’s API.


  • Fast: No time-consuming GUI rendering or unessential downloads

  • Scalable: Java threads lets you run tests in parallel

  • *Easy to use*: Simple API

  • Portable: Cross-platform thanks to the JVM

  • Unintrusive: No browser window interrupting your workflow (runs in background)


  • JRuby 1.2.0 or higher

  • Java 6


jruby -S gem install celerity

To always get the latest version, you should use Gemcutter as your primary gem source:

jruby -S gem install gemcutter
jruby -S gem tumble
jruby -S gem install celerity


require "rubygems"
require "celerity"

browser = Celerity::Browser.new
browser.text_field(:name, 'q').value = 'Celerity'
browser.button(:name, 'btnG').click

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


The source code is available on [GitHub](github.com/jarib/celerity/tree/master).

Wiki & Bug Tracker

Related projects


Celerity - JRuby wrapper for HtmlUnit Copyright © 2008-2012 FINN.no AS

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.