Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
archetype/generator for standalone cucumber selenium projects
Ruby
branch: master

This branch is 7 commits ahead of jnewland:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
spec
templates
.gitignore
Gemfile
Rakefile
Readme.mkdn
cucumber-selenium-standalone.gemspec

Readme.mkdn

cucumber-selenium-standalone

Description

Want to do functional testing with Selenium and Cucumber for a non-Ruby based project? This project is a perfect companion if you have a Java, Scala, .NET, or "fill in the blank" project where you'd like to introduce some Ruby, but more importantly functional testing.

This is a simple "archetype" gem giving you the basics to run cucumber features in any directory.

This project consists of the latest cucumber, capybara, and selenium-webdriver gems.

If you are developing a Ruby based project, then there are plenty of companion gems like cucumber-rails, cucumber-sinatra, etc that I'd recommend. In fact, this gem is influenced by the directory structure you'd get if using the cucumber-rails gem.

Pre-requisites

Got Ruby? No? Get yourself setup with RVM. For the best cross platform / OS support I'd recommend running this gem and your test suite with JRuby. This is especially important if you have folks developing on Windows, Linux, and OSX. At the moment I'm using JRuby 1.5.6 (rvm install jruby-1.5.6)

Installation

Get the gem installed on your machine.

* gem install cucumber-selenium-standalone

Set an environment variable called FUNCTIONAL_TESTING_HOST to dictate what environment the tests run against. If you don't set this, no worries, it will your test suite against http://localhost. This setting can be found in the env.rb.

If you need to change the default for your project you should feel free.

* Example: export FUNCTIONAL_TESTING_HOST = http://your_target_environment:pick_a_port

Set an environment variable called REMOTE_SELENIUM to trigger your test suite on a remote Selenium server. More configuration details can be found in the env.rb on the remote Selenium server. You'll also want to set the environment variable REMOTE_SELENIUM_HOST to tell your test suite the location of the remote Selenium server you are hitting.

* Example: export REMOTE_SELENIUM = true; export REMOTE_SELENIUM_HOST = http://selenium-grid.my-company

There are a couple assumptions including that your remote selenium server is running on port 4444. Of course you change and customize this to your needs in env.rb.

Usage

 cucumber-selenium-standalone the_name_of_your_new_functional_test_directory
       create
       create  features
       create  features/example.feature
       create  features/support
       create  features/support/env.rb
       create  features/step_definitions/web_steps.rb
 cd the_name_of_your_new_functional_test_directory

 # use Bundler to grab all your dependencies
 bundle

 # now run the whole suite
 rake cucumber

 # to run a specific Feature
 bundle exec cucumber feature/example.feature

 # to run a specific Scenario
 bundle exec cucumber -n"Search \"Functional Testing with Cucumber\" on Google"
Something went wrong with that request. Please try again.