Selenium WebDriver - Java, Cucumber BDD & more. Full Course!
4.4 (1,197 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,818 students enrolled

Selenium WebDriver - Java, Cucumber BDD & more. Full Course!

Full Automation Testing Bootcamp! Learn automation testing using Selenium Webdriver, Java, Cucumber BDD, TestNG & more!
4.4 (1,197 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,818 students enrolled
Created by Gianni Bruno
Last updated 3/2019
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 11 hours on-demand video
  • 51 articles
  • 1 downloadable resource
  • 2 Practice Tests
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Students will learn Cucumber BDD from a beginner’s level all the way to an advanced level using Java.
  • Ability to develop small robust to large complex Cucumber Frameworks.
  • Gain a wealth of knowledge in automation test engineering.
Course content
Expand all 158 lectures 11:04:14
+ How this Course is Structured
2 lectures 10:49

Hello and welcome to the first lecture of this course! This course has
been broken down into a series of modules each with the intentions of
simplifying whilst optimising the learning process. Each module has a
specific learning objective and outcome so please start this course from
the very beginning all the way to the very end and please DO NOT SKIP A
VIDEO even if you have experience within that given area. That being
said! hope you enjoy this course! glad to have another fellow student on

Preview 10:49
1 lecture 00:50

It’s vital that we setup our environment correctly before we start the
process of constructing our Cucumber automation framework. In this
module we will be downloading and setting up the key components required
to develop a Cucumber automation framework using Java.

Preview 00:50
+ Installing Java JDK & Maven | Setting up System Variables
3 lectures 08:28

If you're using a Mac then you will have to complete a few different steps compared to Windows users. Please copy these steps to a notepad and use these steps when working through Lecture 5 and Lecture 6.

There is also some additional guidance in the QA section if you get stuck.

If you're still having problems then create a new question and I will get back to you asap.

Kind regards,


A note for Mac users

Java JDK also referred to as the ‘Java Development Kit’ is a key
component which is required to compile and execute our project code and
test case(s). This video focuses on installing the correct version of
the Java JDK and illustrates how to setup up the Java JDK ‘System

Preview 03:46

Apache Maven is a software project management and comprehension tool
which can greatly assist the automation developer who is wanting to
develop an effective test automation framework. This video focuses on
downloading the correct version of Apache Maven, setting up the required
system variables to get Apache Maven up and running and finally
validates whether the installing process was successful.

Preview 03:45
+ Eclipse Setup
3 lectures 09:52

Eclipse IDE is a very popular open source integrated development

environment which is widely used throughout the automation testing
industry. Setting up Eclipse correctly can be a very tricky process;
this video focuses on downloading the correct version of Eclipse IDE and
breaks down the tricky process of handling problematic configurations
and settings.

Preview 09:52
+ TestNG Installation
1 lecture 02:30

TestNG is a powerful and easy to use testing framework. This course
primarily focuses on using JUnit rather than TestNG however it’s still
useful to download and install the TestNG add-on(s) for Eclipse IDE.

Preview 02:30
+ Installing Required Cucumber Add-ons
2 lectures 02:34

There are several Cucumber add-ons which need to be downloaded and

installed to our instance of Eclipse IDE. I will be walk the student
through the selection and download process. We will be downloading the
required add-ons from two locations; one location which we will be using
is the Eclipse Marketplace and the other using a specific web URL.

Preview 02:34
+ Adding a Cool Colour Theme to Eclipse!
1 lecture 02:05

Eclipse Marketplace has many useful add-ons. If you’re somebody who
likes to play around with vibrant colours then this add-on is likely for

Preview 02:05
+ Chrome Browser & Chrome Driver Setup
1 lecture 03:41

Not only will we be focusing on downloading and installing Chrome
Browser but we will also download and inspect ChromeDriver which a
standalone server which implements WebDriver's wire protocol for
Chromium. ChromeDriver enables us to execute our automation tests within
Chrome browser.

Preview 03:41
Setup Module [Exercise]
5 questions
1 lecture 03:31

What exactly is Apache Maven? Ever heard of the term POM file also
referred to as ‘Project Object Model’? Apache Maven is a project
management tool and it’s a great way for us to construct the foundations
of our Cucumber framework. POM file is a type of .xml file which can be
considered as the heart of any Apache Maven project, we will be using
the POM.xml file to aid the configuration(s) and update process for our
Cucumber automation framework(s).

Preview 03:31
  • You should have some basic knowledge of Java.
  • Some basic selenium knowledge will be an advantage but not necessary.

This course has helped students become automation test engineers (check our the course reviews).

This course will teach you automation testing using Selenium Webdriver, Java, Cucumber BDD, TestNG, Jenkins and Apache Maven to develop a real world, functioning framework for real world, enterprise environments. This is different to most courses, as we focus on frameworks that actually provide skills for the real world.

> Why Learn Automation Testing?

Automation testing has been steadily grown in popularity these past few years thanks to the time/ cost savings and efficiency that it offers. Companies throughout the world have or plan to use automation testing to rapidly speed up their test capabilities. Automation test engineers are in great demand and offer an average salary of £45,000+ (2018). Now is a great time to learn about automation test engineering and this course has been carefully developed to slowly introduce you from the basics, all the way to building advanced frameworks.

This course introduces you to some of the most in demand automation test tools currently being used by automation testers throughout the world. I teach you from the very beginning and slowly build up to demonstrate the advance capabilities they offer. All this is taught using practical examples that I explain and you can follow. 

I have personally taught countless teams to learn about automation testing in the workplace. In fact this is part of my job. I know what works when it comes to teaching new people about automation testing and I have developed this course by keeping this in mind.

> So, why should you learn cucumber BDD?

Cucumber (BDD) simplifies the requirement capturing process. Requirements can be captured, broken down and simplified effortlessly; making the captured requirements readable to anyone within the organisation and in turn providing the required details and backbone to develop accurate test cases also known as ‘Feature Files’.

  • Cucumber (BDD) simplifies the process of developing automation test scripts! Students enrolled within this course will see why! 

  • Students will learn Cucumber BDD from a beginner’s level all the way to obtaining the knowledge to develop advanced sophisticated Cucumber BDD framework(s) of their own.

  • Cucumber is one of the BDD frameworks which is in very high demand

  • Search online for many automation testing roles and you will likely see BDD, Cucumber as a mandatory requirement! 

> Why choose this course? 

I have also been responsible for teaching countless students/colleagues and have refined this course so that students get the very best from my teaching material.

By completing this course; I ensure you'll have all the knowledge you need to become an automation test engineer (and some students already have!)

Students that choose to enroll will get the following:

  • A course that explains every step clearly and in detail.

  • Gain knowledge on some of the most popular and in-demand automation test tools that employers ask for in job descriptions.

  • A course that is structured in a way which will enable anyone with basic of knowledge of Java and Selenium WebDriver to create basic to advanced Cucumber tests and even develop sophisticated Cucumber framework(s) from scratch.

  • Gain knowledge to develop and schedule your tests using Jenkins (Continuous integration).

  • You will also create and run tests against real world websites.

  • Be given access to webdriveruniversity (a website that I developed) so you can practice you test automation skills using the knowledge gained form this course.

> What will I learn?

The following topics are covered in this course. These topics have been specifically tailored to demonstrate and teach you the most important areas of automation testing. This is taught to you using a practical approach and you will see tests (that you have written) testing websites using your very own browser.

  • Gain a greater understating of Selenium WebDriver & Java.

  • Gradually learn and understand Cucumber (BDD) from a basic level all the way to an advanced level.

  • Learn the latest and most effective way to develop Cucumber Frameworks.

  • Learn how to architecturally design and develop Cucumber Frameworks the correct way.

  • Incorporate best practises when developing Cucumber Frameworks.

  • What is Gherkin and how can we use it?

  • Understand what exactly is a Feature File & how to create them.

  • Understand the purpose of Step Definition Classes & how to create them.

  • Explain the purpose of Runner Classes and explain how to optimize them using Options, Hooks & Tags.

  • Explain the advantages and purpose of reports and learn how to generate Advanced Reports.

  • Learn how to attach images to reports.

  • Understand the purpose of the Background keyword and why it's a good idea to use it.

  • Explain the purpose of Data Tables.

  • Demonstration of Scenario Outlines & Examples (which is very important).

  • Explain the purpose of the Page Object Model & Page Factories.

  • I will show you how to Integrate Selenium and Java into your Cucumber projects.

  • I will teach you how to simulate a wide range of different test scenarios via planned automation test scripts.

  • We go through structured test cases using JUnit and explain why this is useful.

  • I explain how to find elements on websites.

  • I will explain the purpose and then master the ability to create Dynamic Locators.

  • Learn how to stabilize your tests.

  • Learn why a BasePage is so important and why it’s vital to centralize your code.

  • I will show you how to master Inheritance using Subpages.

  • I will show you DriverFactory creation and why a DriverFactory is very important!

  • I will explain how to download a customized Base Page Java class which comes bundled with Bespoke Methods.

  • I'll explain the importance of Modelling Pages of a website into Separate Containers.

  • I'll explain to you the purpose and limitations of Thread.sleep and teach you the correct way to wait and interact with website elements.

  • We will go though the Java JDK and Apache Maven setup.

  • I will demonstrate to you Eclipse IDE so that you become very familiar with it (including how to set it up).

  • Select and install important add-ons within Eclipse and explain why they are helpful.

  • I will demonstrate Maven and explain it's purpose and why this is a wonderful tool to use.

  • Explain the importance of the Maven POM File and why we use it.

  • I will explain the M2 directory.

  • I will teach you how to simplify the update process (Dependencies) of your project.

  • We will go through some of the most popular Maven commands.

  • I will explain the constant class (for centralisation) & learn how to create dynamic directories.

  • We'll go through Batch File creation and explain it's uses.

  • I'll teach you continuous integration using Jenkins and explain why this is very useful.

  • I will also show you some very important add-ons for Jenkins.

  • We will create some very visually appealing reports within Jenkins and attaching images to those reports.

  • I have made sure to include course notes & code with each module.

  • We will go through Chromedriver and Geckodriver and explain its purpose.

  • I will demonstrate how to use a specific Surefire plugin to our advantage.

  • I will teach you the purpose TestNG execution files and why these are used.

  • I will demonstrate the Config file and explain the purpose of the config reader class.

  • And much more!

> Bonus Material:

When you enroll, you will also receive the following:

  • FREE access to my Online Selenium WebDriver Automation Training Platform: WebdriverUniversity!

  • Be able to download a 'Customised Base Class' bundled with bespoke methods! 

> New Content Added (16/09/2018):

  • Extent Reports - Extent Report is a HTML reporting library for Selenium WebDriver for Java which is to a great degree simple to use and makes excellent execution reports. We can use this tool within our TestNG automation framework. As an automation tester its obligation to catch great reporting and present to administration group.  This module teaches you all you need to know to create great Extent Reports.


As always, if you are not 100% satisfied, all of my courses come with a 30 day money back guarantee, no questions asked.

Who this course is for:
  • Anyone that has an interest in automation testing and wants to gain knowledge in this area.
  • Automation test engineers looking to refresh/ learn about latest automation trends.
  • Manual testers / QA engineers / QA analysts that are wanting to learn Automation Testing.
  • Anyone wanting to understand and learn the concepts of Cucumber BDD and Selenium WebDriver.
  • Anyone wanting to learn the skills required to develop Advanced Cucumber (BDD) frameworks.
  • Software Development Engineers in Test.