Home > rspec-rails-selenium-story

rspec-rails-selenium-story

Rspec-rails-selenium-story is a project mainly written in Ruby, based on the MIT license.

= rspec-rails-selenium-story

== Instructions

Rails plugin that tries to make driving Selenium from the RSpec Story Runner easier.

=== Features

  • Resets the database after every story scenario.
  • Restarts the application after every story scenario.
  • Resets the browser cookies (auth_token and the rails session) after every story scenario.
  • Makes a screenshot of a failing story scenario.
  • Adds the facility to check if a application exception was raised.
  • Adds the facility to run the selenium stories in background. (Uses Xvfb)

== Getting Started

=== 1. Install rspec and rspec-rails

See http://github.com/dchelimsky/rspec-rails/wikis

=== 2. Install the plugin

ruby script/plugin install [email protected]:tmak/rspec-rails-selenium-story.git ruby script/generate rspec_selenium_story

=== 3. Configure the selenium database

Add this to your "config/database.yml" file:

selenium: adapter: sqlite3 database: db/selenium.sqlite3 encoding: utf8 timeout: 5000

=== 4. Study the login example story

The rspec_selenium_story generator creates an example login story.

See "stories/selenium/steps/login_example_steps.rb" and "stories/selenium/stories/login_example_story.rb".

=== 5. Run the selenium stories

ruby stories/selenium/all.rb

== Other Useful Information

=== Screenshots of failing story scenarios

The screenshots get saved under "RAILS_ROOT/tmp/selenium/TIMESTAMP/screenshots".

=== Checking for a rails application exception

Just call

selenium.check_for_exception

in a story step.

=== Running the selenium stories in background

Install Xvfb and set the environment variable SELENIUM_BACKGROUND to 1.

Example:

export SELENIUM_BACKGROUND=1 ruby stories/selenium/all.rb

== Credits

The start point of this plugin was the source code of a blog post from Kerry Buckley:

http://kerry.ontoa.st/2007/11/07/driving-selenium-from-the-rspec-story-runner-rbehave


Copyright (c) 2008 Thomas Marek, released under the MIT license