Selenium4 With Cucumber
The document discusses using Cucumber with Selenium for behavior driven development. It defines key BDD and Cucumber concepts like features, scenarios, and step definitions. Cucumber allows writing test cases in a simple language and mapping them to code via step definitions. It integrates with Selenium for automated web testing. The demo section shows how Cucumber features and Selenium can be used together for automated testing in a BDD approach.
2. Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings,
you are requested not to join
sessions after a 5 minutes
threshold post the session start
time.
Feedback
Make sure to submit a
constructive feedback for all
sessions as it is very helpful for
the presenter.
Mute
Please keep your window on
mute.
Avoid Disturbance
Avoid leaving your window
unmuted after asking a question
3. Our Agenda
01 What is BDD
03
3 Amigoes
04
Advantages of BDD?
05
Cucumber Overview
Why Cucumber with Selenium and demo
02
4. What is BDD?
● BDD transpires from the TDD i.e. Test Driven Development which allows the
users to work with multiple test data with minimum intervention in the software
code.
● Behavior Driven Development is a software development approach that allows the
tester/business analyst to create test cases in simple text language.
● The simple language used in the scenarios helps even non-technical team
members to understand what is going on in the software project.
● Follows typical Gherkin language.
● Follows Given – When – Then Approach.
5.
6. 3 Amigoes
Testers Developer
Product Owner
Product Owner: Comes up with the user story with the acceptance criteria at their own
Understanding.
Testers,QA,Business Analysts: Ask Questions with some examples to get better
understanding.
Developers: Discuss the technical feasibility and challenges about the user stories.
7. Advantages Of BDD
● This can be used as Standard Template where all QA can stick to one common standards of
defining Test Cases
● Each Scenario reflects a Business Value.
● We can estimate the Test coverage happened for Each Business outcome by going through
Test Cases.
● We can tag these Annotations to Selenium Automation and execute the Business Testcases.
● Common Standardised Test Case template for both Manual and Automation testing.
8. What is Cucumber?
● Cucumber is a testing approach/tool that supports
Behaviour Driven Development (BDD). It provides a way to
write tests that anybody can understand, regardless of
their extent of technical knowledge.
● Open Source and free to use.
● Multiple language support.
● It also integrates with Selenium, Ruby on Rails, Watir, and
other web-based testing tools.
9. ● Cucumber is the way of taking features which is the
combination of scenarios written in plain english language
using a simple grammar defined by the language called
Gherkins.
● Cucumber itself is written in Ruby but supports other
languages as java,C#,scala and many more.
● Features are shared with all the amigos involved in
development i.e developers,testers,Business analysts and
Product owner.
11. Main Terminologies involved in Cucumber
Automation
● Feature “What to automate”
● Step Definition “ How To automate”
● Test Runner “ All the test cases what need to
be automated”
12. What is a feature file?
A Feature file describes a feature or a part of a
feature with representative examples of expected
outcomes. Cucumber uses these files to validate
some system functionality against its
specifications. Feature files are plain-text files,
ideally stored in the same version control system
as the related project.
13. What is a scenario?
A scenario describes a key example of the
feature. It will describe how the system
delivers value to the stakeholder. The goal of
the scenario is to clearly describe the goal
that the steps are trying to validate.
14. Why use Cucumber with Selenium?
● It is easy to understand the application flow.
● Acts as a bridge between the three Amigoes.
● Benefits the client to understand the application code.
● Supports multiple scripts and programming languages.