Sometimes you inherit a non Rails or non Rack based web app such as PHP, Perl, Java / JEE, etc. I like using cucumber for functional testing so I put together this project structure to use as a starting point for testing non Ruby web based applications.
I’ve included a simple search.feature examples that uses Google. To switch to use your own development or staging server adjust the URL in features/support/env.rb. I have this example project setup to use Capybara with Webdriver (Selenium) but you can easily switch this to use Culerity or Webrat by editing features/support/env.rb.
Pull requests with updates/enhancements/bug fixes are always welcome!
-
features/*.feature : cucumber features
-
features/step_definitions/web_steps.rb : generic steps that apply to all features
-
features/step_definintions/_steps.rb : steps specific to an individual feature file
-
support/env.rb : configures the driver and the hostname to use
-
Ruby Gems rubygems.org/
-
Bundler: sudo gem install bundler rake
-
sudo bundle install
-
To run all features: rake
-
To run a specific feature: cucumber features/search.feature
-
To debug a specific step call save_and_open_page within the step
-
cukes.info (for general cucumber information)
-
github.com/jnicklas/capybara (for actions such as click_link, click_button, etc…)