Gondola

Gondola is a ruby gem which aims to bridge the gap between two very prominent, open source, quality assurance tools, Selenium IDE and Sauce Labs. Many quality assurance professionals who don’t have the necessary technical skills to write Selenium webdriver-based unit tests prefer to do their web regression testing using solely the Selenium IDE and then exporting those test cases by some means to Sauce Labs’ system.

Gondola offers an easier and more convenient system for dispatching tests written in Selenium IDE to a Sauce Labs account. Gondola transforms the html that Selenium IDE produces by default and ships it to Sauce Labs across a number of browsers in parallel. Test suites and projects can be easily organized with simple file directory structures.

Beyond the console application that comes with the gem, Gondola offers a small API for integrating Gondola’s features into custom web apps. This allows a user to bring Gondola’s simplicity into an existing testing suite or a new web application. Specifically, we have a plan to write a sample Gondola web app to demonstrate its power.

Installation

$ gem install gondola

NOTE: You may run into problems if rubygems’ executable path is not in your $PATH environment variable. See rubygems’ documentation for more details.

Usage

Gondola offers a simplistic command line application for quickly debugging tests written in the Selenium IDE. Gondola also offers a short and sweet API for integrating Gondola’s features into any other application.

NOTE: Make sure that you configure your Sauce Labs username and access key by doing one of two things:

before using Gondola in any capacity.

Getting started

$ gondola help

Will get you started with the basic commands available. The most used and main function of gondola is the run command.

$ gondola run [options] [tests]

The available [options] are:

The [tests] attribute refers to a list of test cases or test suites:

Integrating with an existing product

require 'rubygems'
require 'gondola'

browsers = [
    {:os => "Windows 2003", :browser => "firefox", :browser_version => "3.6"},
    {:os => "Windows 2003", :browser => "iexplore", :browser_version => "8" },
]

Gondola.new do |runner|
  runner.on_change do |result|
    Gondola::Results::Console.change result
  end
  runner.on_completion do |results|
    Gondola::Results::Console.completion results
  end
  runner.on_error do |error|
    Gondola::Results::Console.error error
  end

  runner.add_tests "example1.html", "example2.html"
  puts "Contacting Sauce Labs, please wait..."
  runner.run({:base_url => "http://www.google.com", :browsers => browsers})
end

The end result here is that the test case that you have written with Selenium IDE, “example.html”, is converted to ruby on the fly and then sent to Sauce Labs with two browser settings in parallel.

Contributing to gondola

Copyright © 2011 Agora Games. See LICENSE.txt for further details.