Cucumber is a command-line tool that reads specifications from plain-language text files but cucumber itself does not have any idea as how to execute the scenario steps. Cucumber needs step definition to convert Gherkin step into some desired activity.
 
Whenever cucumber executes any step then it looks its respective step definition in the entire project and execute the code written inside the step definition.
 
Step definition may contain a single line code or a multi-line code depending on the steps logic.
 
Feature:
Scenario:Verify the registration
 
  Given I am at Home Page
  Then I click Registration link
  And I enter valid data for Registration
  Then I should see Edit Profile page
  And I should see Terms and Conditions overlay
 
Step Definitions of few steps:
 
Then(/^I click Registration link$/) do
@page = @page.click_registration_link
end
 
And(/^I enter valid data for Registration$/) do
@Timestamp = @page.read_time_stamp
@page = @page.enter_username("#{@Timestamp}_xxxxxxxxxxxx")
@page = @page.enter_email("#{@Timestamp}_xxxxxxxxxxx@mailinator.com")
@page = @page.enter_password("xxxxxxxxxxxx")
@page = @page.enter_confirm_password("xxxxxxxxxxxxx")
@page = @page.click_register_button
end
 
Then(/^I should see Edit Profile page$/) do
pending
end
 
And(/^I should see Terms and Conditions overlay$/) do
pending
End
 
In the above example as we can see that only single line code is associated with “I click Registration link” step but multiline code is associated with “I enter valid data for Registration”. If the same step is written with different Gherkin keywords in the Feature then also we do not have to re-write the steps again. Cucumber while reading the step definition ignore Gherkin keywords.
                       
                    
0 Comment(s)