Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Gianni @ FutureSkillz Academy

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

This course will teach you automation testing using Selenium WebDriver 4, Java, Cucumber BDD (Latest Version: 'io.cucumber'), 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?

Read more

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

This course will teach you automation testing using Selenium WebDriver 4, Java, Cucumber BDD (Latest Version: 'io.cucumber'), 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+ ( 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 enrol 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 4 & Java.

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

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

  • Learn how to architecturally design and develop Cucumber Frameworks the correct way taking into consideration concepts such as DRY (Don't Repeat Yourself), maintainability etc.

  • 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.

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

  • Explain the purpose of the Page Object Model (POM) & 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.

  • I explain how to find elements on website(s).

  • 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 explain how to create a customized Base Page including the creation of Bespoke Methods.

  • Learn how to Effectively handle Element Interaction (Wait for Element to be Visible, Clickable etc).

  • 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.

  • I will show you how to Master Inheritance using Subpages etc.

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

  • I'll explain the importance of Modelling Pages of a website into Separate Containers (POM: Page Object Modelling).

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

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

  • 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 (Including handling dependencies).

  • 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.

  • 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.

  • How to handle Extensible Choice Parameters (Selection Dropdown lists) via Jenkins.

  • I have made sure to include course notes & code with each lecture(s) and module(s).

  • 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 how to effectively use TestNG Assertions.

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

  • Parallelization -  I will demonstrate how you can execute your tests in Parallel, how to increase / decrease the numbers of tests running in parallel etc.

  • And much more.

Enroll now

What's inside

Learning objectives

  • 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 the knowledge to become an automation test engineering / sdet.
  • Understand the importance of design patterns.
  • Gain the knowledge / ability to implement advanced concepts such as page object modelling, parallelization, jenkins (ci) integration and much more!

Syllabus

Course Introduction
Introduction
Environment - Setup
Java JDK
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Develops Selenium, Java, Cucumber, TestNG, Jenkins, and Maven skills, which are core for numerous automation test engineering roles
Taught by Gianni @ FutureSkillz Academy, who are recognized for their work in teaching automation test engineering
Examines Selenium, Cucumber (BDD), TestNG, Jenkins (CI), and Maven, which are highly relevant to industry
Suitable for automation test engineering professionals as well as people who are transitioning to the field
Helps learners take the first steps toward becoming automation test engineers
Requires learners to take other courses before taking this course

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical automation with java & cucumber

According to students, this course is a highly effective way to learn automation testing using Java, Selenium WebDriver, and Cucumber BDD. Many praise the practical approach, particularly the focus on building a real-world framework step-by-step, which they found invaluable for gaining job-ready skills. The instructor's explanations are frequently described as clear and simple, making complex topics like Page Object Model and Jenkins CI integration understandable. While the course content is current and relevant, a common warning is that setup can sometimes be challenging due to outdated library versions, requiring learners to spend time resolving dependency issues. Overall, reviewers feel it provides a solid foundation for becoming an automation test engineer, though some prior Java knowledge is beneficial.
Some prior Java knowledge is helpful.
"Requires some prior Java knowledge."
"The course is okay, but assumes a bit more Java knowledge than I had. I struggled with some of the coding examples."
"It's best if you have basic Java understanding before starting."
Provides a strong basis for automation.
"Good starting point, but you'll need to supplement with other resources."
"Provides a strong foundation."
"Overall, a solid foundation for automation testing."
"I gained a solid foundation from completing this course."
Instructor explains complex topics well.
"The explanations are clear, and the hands-on examples are incredibly helpful."
"The instructor explains complex topics simply."
"The instructor's teaching style is great."
"While the instructor covers relevant topics, the lack of updates makes it difficult to follow along with current tools."
Covers essential industry tools.
"It covers all the essential tools for becoming an automation engineer."
"Good coverage of Selenium, Cucumber, and Maven. Jenkins integration section was very useful for understanding CI."
"A solid introduction to test automation using Java, Selenium, and Cucumber. The BDD part is explained clearly."
"This course delivered exactly what it promised - the skills to build robust automation frameworks. POM, BDD, CI integration - all covered practically."
Learn to build a real-world framework.
"This course is fantastic! ... The hands-on examples are incredibly helpful. Building the framework from scratch is the best part. It felt very practical."
"Highly recommended for anyone looking to get into test automation. The instructor explains complex topics simply. The Page Object Model section was particularly strong and helped me understand how to structure a real-world framework."
"Best course I've taken on automation testing. The practical approach, building a framework incrementally, is very effective. ... Highly practical and job-relevant."
"Great course for learning automation with modern tools. The framework design principles taught are excellent."
Setup can be tricky with versions.
"Some of the library versions used in the course are a bit outdated, leading to compatibility issues during setup."
"Setup was a bit tricky with dependency versions. Good starting point, but you'll need to supplement with other resources."
"Outdated dependencies caused significant issues. I spent more time fixing version conflicts than learning."
"Setup can be a bit finicky due to dependencies, but that's often the case in real projects too."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Selenium WebDriver 4, Cucumber BDD, Java & More! with these activities:
Review Selenium and Java Basics
Review core concepts and language syntax, ensuring a strong foundation before diving into the course material.
Browse courses on Selenium
Show steps
  • Review Selenium Framework Architectural Components
  • Recall Java Syntax and Object-Oriented Programming Concepts
  • Refresh Understanding of Webdriver
Explore Advanced Cucumber Features Using Online Tutorials
Delve deeper into Cucumber by following tutorials and exploring advanced features to enhance your understanding.
Show steps
  • Search for Tutorials on Advanced Cucumber Topics
  • Follow Step-by-Step Guides and Implement Examples
  • Experiment with New Concepts and Techniques
Design a Test Plan for a Real-World Website
Develop a thorough testing strategy based on course concepts, applied to a website of your choice.
Browse courses on Test Planning
Show steps
  • Analyze the Website and Define Testing Objectives
  • Design Test Cases Using Cucumber BDD Syntax
  • Create a Test Plan Document
Four other activities
Expand to see all activities and additional details
Show all seven activities
Develop a Comprehensive Example of a Cucumber Test Script
Craft a detailed and well-commented test script, demonstrating advanced techniques and best practices covered in the course.
Show steps
  • Design a Test Scenario and Implement Feature File
  • Write Step Definitions Using Cucumber
  • Integrate Assertions and Exception Handling
Solve Cucumber BDD Practice Problems
Reinforce your understanding of Cucumber by solving challenging practice problems, honing your skills through repetition.
Show steps
  • Find Practice Problems Online or in Textbooks
  • Solve Problems Independently
  • Compare Solutions with Others
Lead a Study Group on Advanced Cucumber Techniques
Share your knowledge and lead a peer group, helping others grasp complex Cucumber techniques through collaboration.
Show steps
  • Gather a Group of Peers
  • Plan and Prepare the Study Session
  • Facilitate Discussions and Guide Learning
  • Provide Feedback and Encourage Participation
Contribute to a Cucumber BDD Open-Source Project
Enhance your skills by actively participating in an open-source project, making meaningful contributions to the Cucumber community.
Show steps
  • Identify a Cucumber BDD Project on GitHub
  • Study the Project and Identify Contribution Opportunities
  • Submit a Pull Request
  • Collaborate with Project Maintainers

Career center

Learners who complete Selenium WebDriver 4, Cucumber BDD, Java & More! will develop knowledge and skills that may be useful to these careers:
Software Test Engineer
A Software Test Engineer is responsible for planning and executing software tests to identify errors and ensure that a software product meets all of its requirements. This course is an excellent introduction to software testing and can help you develop the skills needed for a successful career in the field. You will learn about the principles of test engineering and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to test software applications.
Automation Test Engineer
An Automation Test Engineer is responsible for designing, developing, and maintaining automated software tests. This course can help you build a strong foundation in automation testing and prepare you for a successful career in this field. You will learn about the principles of automation testing and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to automate software tests.
Software Quality Assurance (QA) Analyst
A Software Quality Assurance (QA) Analyst is responsible for ensuring that software products meet all of their quality requirements and meet the needs of the end user. This course is an excellent way to learn about the principles of software quality assurance and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to assure the quality of software products.
Software Developer
A Software Developer is responsible for designing, developing, and maintaining software applications. This course can help you build a strong foundation in software development and prepare you for a successful career in this field. You will learn about the principles of software development and how to use Selenium WebDriver 4, Cucumber BDD, and Java to develop software applications.
Quality Assurance Engineer
A Quality Assurance Engineer is responsible for ensuring that software products meet all of their quality requirements and meet the needs of the end user. This course is an excellent way to learn about the principles of quality assurance engineering and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to assure the quality of software products.
Manual Tester
A Manual Tester is responsible for manually testing software products to identify errors and ensure that they meet all of their requirements. This course is an excellent introduction to software testing and can help you develop the skills needed for a successful career in the field. You will learn about the principles of manual testing and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to manually test software applications.
Test Analyst
A Test Analyst is responsible for analyzing software products to identify areas for improvement and ensure that they meet all of their requirements. This course is a great way to learn about the principles of test analysis and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to analyze software products.
DevOps Engineer
A DevOps Engineer is responsible for building, testing, and deploying software products. This course is a great way to learn about the principles of DevOps and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to build, test, and deploy software products.
Software Engineer in Test
A Software Engineer in Test is responsible for designing, developing, and maintaining software tests. This course can help you build a strong foundation in software testing and prepare you for a successful career in this field. You will learn about the principles of software testing and how to use Selenium WebDriver 4, Cucumber BDD, and Java to test software applications.
Quality Control Analyst
A Quality Control Analyst is responsible for ensuring that software products meet all of their quality requirements and meet the needs of the end user. This course is a great way to learn about the principles of quality control and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to assure the quality of software products.
Software Test Manager
A Software Test Manager is responsible for planning and managing software testing projects. This course is a great way to learn about the principles of software test management and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to manage software testing projects.
Technical Support Engineer
A Technical Support Engineer is responsible for providing technical support to software users. This course is a great way to learn about the principles of technical support and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to provide technical support to software users.
Business Analyst
A Business Analyst is responsible for analyzing business processes and identifying areas for improvement. This course is a great way to learn about the principles of business analysis and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to analyze business processes.
Project Manager
A Project Manager is responsible for planning, executing, and closing software projects. This course is a great way to learn about the principles of project management and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to manage software projects.
Data Analyst
A Data Analyst is responsible for collecting, cleaning, and analyzing data. This course is a great way to learn about the principles of data analysis and how to use Selenium WebDriver 4, Cucumber BDD, Java, and other tools to collect, clean, and analyze data.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Selenium WebDriver 4, Cucumber BDD, Java & More!.
Provides a practical guide to BDD. It covers the basics of BDD, and guides readers through the process of creating and executing BDD tests.
Provides a comprehensive overview of software testing techniques. It covers the basics of software testing, and guides readers through the process of creating and executing software tests.
Provides a practical guide to software testing. It covers the basics of software testing, and guides readers through the process of creating and executing software tests.
Provides a gentle introduction to Java for testers. It covers the basics of Java, as well as more advanced topics such as object-oriented programming and unit testing.
Provides a comprehensive guide to using Jenkins for continuous integration. It covers the basics of Jenkins, as well as more advanced topics such as plugin development and security.
Provides a gentle introduction to Java for beginners. It covers the basics of Java, as well as more advanced topics such as object-oriented programming and unit testing.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser