Cucumber integration with Selenium
Cucumber integration with Selenium WebDriver
1) What is Cucumber?
Cucumber is a tool based on Behavior Driven Development (BDD) framework which is used to write acceptance tests for the web application. It allows automation of functional validation in easily readable and understandable format (like plain English) to Business Analysts, Developers, Testers, etc.
Cucumber can be used along with Selenium, Watir, Ruby on Rails, PicoContainer etc. Cucumber supports many languages like Ruby, Java, Perl, PHP, Python, .Net etc.
JBehave, other tool, which also supports BDD framework. Initially, Cucumber was implemented in Ruby and then extended to Java framework. Both the tools support native JUnit.
Behavior Driven Development is an extension of Test Driven Development and it is used to test the system rather than testing the particular piece of code.
2) What is Behavior-Driven Development(BDD)?
Behavioral Driven Development (BDD) is a software development approach that has evolved from TDD (Test Driven Development), which improves communication between tech and non-tech teams and stakeholders. In both TTD and BDD, tests are written ahead of the code, but in BDD, tests are more user-focused and based on the system’s behavior.
Behavior Driven Development gives us an opportunity to create test scripts from both the developer’s and the customer’s perspective as well. So in the beginning, developers, project managers, QAs, user acceptance testers and the product owner (stockholder), all get together and brainstorm about which test scenarios should be passed in order to call this software/application successful.
3) What is Gherkin?
Cucumber uses plain English in the Gherkin format to express user stories. Once the user stories and their expectations are written, the Cucumber gem is used to execute those stores.
Cucumber executes the test scripts, which have been defined in the feature file, the language, in which this executable feature files is written, is known as Gherkin. Gherkin is a plain English text language, which helps the tool – Cucumber to interpret and execute the test scripts.
4) Cucumber with Selenium WebDriver
Cucumber and Selenium are two popular technologies.
Most of the organizations use Selenium for functional testing. These organizations which are using Selenium want to integrate Cucumber with selenium as Cucumber makes it easy to read and to understand the application flow.
Steps for configuring Cucumber with Selenium WebDriver:
Step 1- Download and Install Java
Step 2- Download and Extract Eclipse IDE
(Unlike a lot of software tools, Eclipse doesn’t need to be installed. Once you unzip it, you can start using it directly.)
Step 3- Download Cucumber and Selenium JARs
Step 4- Create Java project in Eclipse IDE, add Cucumber and Selenium jars to the project
Step 5- add Cucumber feature file in eclipse project
Step 6- Create Cucumber Test Runner class to run Cucumber feature file
Step 7- Create Cucumber Step Definition class and add feature file steps to it
Step 8- Add Selenium code to the step definition methods.
Cucumber Integration with Selenium WebDriver