Ruby language has the following advantages −
It is easy to understand.
It is an object-oriented language.
It is a powerful class library.
It has massive online support.
Following is the step-by-step process of how Cucumber works with Ruby.
Step 1 − Install Ruby.
Go to RubyInstaller download page.
Download the version best suited for your operating system (i.e. 32 or 64 bit).
Run the downloaded exe.
During the installation, tick the option “Add Ruby…” and “Associate …”, as shown in the following image.
Step 2 − Download and extract Dev kit.
Go to RubyInstaller download page.
Download the Devkit version best suited for your operating system (i.e. 32 or 64 bit).
Extract the devkit at c:\Ruby\Devkit folder.
Open the command prompt.
Inside the Ruby devkit, run the following command.
C:\Ruby\devkit> ruby dk.rb init C:\Ruby\devkit> ruby dk.rb install
Step 3 − Install Cucumber and other Ruby gem.
To install Cucumber, first update the current gem setup
C:\Users\Admin> gem update –system
Next, install the gems you need for Cucumber web testing.
C:\Users\Admin> gem install --no-ri --no-rdoc rspec C:\Users\Admin> gem install --no-ri --no-rdoc win32console C:\Users\Admin> gem install --no-ri --no-rdoc watir-webdriver C:\Users\Admin> gem install --no-ri --no-rdoc cucumber
Run Cucumber
C:\Users\Admin\Documents>cucumber –init C:\Users\Admin\Documents>cucumber
Step 4 − Install IDE – KOMODO.
Go to the page http://www.activestate.com/komodo-ide/downloads
Download the free trial installer.
Double-click on the downloaded exe.
Follow the installation steps.
Finish the installation and open the IDE.
Step 5 − Install Watir − Go to command prompt and run the following command, "gem install watir"
Step 6 − Install rspec − Go to command prompt and run the following command, "gem install rspec"
Step 7 − Create feature file.
Open KOMODO editor.
Click on new file icon.
Write the following text.
Feature: Users must be able to search for content using Google.
Scenario: Search for a term.
Given I have entered "watir" into the query.
When I click "search"
Then I should see some results
Click save icon.
Give the name as CucumberRuby.feature.
Choose any folder, for example: “e:\WithRuby”
Save the file.
Step 8 − Create step definition file.
Open KOMODO editor.
Click ‘New’ file icon.
Write the following code.
require "watir-webdriver" require "rspec/expectations" Given /^I have entered "([^"]*)" into the query$/ do |term| @browser ||= Watir::Browser.new :firefox @browser.goto "google.com" @browser.text_field(:name => "q").set term end When /^I click "([^"]*)"$/ do |button_name| @browser.button.click end Then /^I should see some results$/ do @browser.div(:id => "resultStats").wait_until_present @browser.div(:id => "resultStats").should exist @browser.close End
Click save icon.
Give the name as CucumberRuby.rb
Choose any folder for example: “e:\WithRuby”
Save the file.
Step 9 − Create the test file.
Open KOMODO editor.
Click on ‘New’ file icon.
Write the following code.
require "rubygems" require "test/unit" require "watir-webdriver" class GoogleSearch < Test::Unit::TestCase def setup @browser ||= Watir::Browser.new :firefox end def teardown @browser.close end def test_search @browser.goto "google.com" @browser.text_field(:name => "q").set "watir" @browser.button.click @browser.div(:id => "resultStats").wait_until_present assert @browser.title == "watir - Google Search" end end
Click Save icon.
Name the file as test.rb and choose any folder for example: “e:\WithRuby”
Save the file.
Step 10 − Run the feature file.
Go to command prompt.
Go to directory e:\WithRuby
Run the following command.
e:\With Ruby>ruby test.rb
You will observe the following things upon execution −
A web browser instance will open.
Google.com webpage will get loaded.
Search text watir will be entered.
Search button will be placed.
Search results shall be displayed on the webpage.
Browser instance will get closed.