Start Mastering Serenity BDD Today

Serenity BDD is a leading Java test automation library, renowned for its efficiency and power. This course goes beyond the basics, unveiling the hidden features of Serenity BDD that will revolutionize your testing process!

  • Faster, Expressive UI Tests: Write clean and expressive UI tests faster using Serenity BDD and Selenium.

  • Robust, Reusable Code: Create robust and reusable automation code using Action Classes and Page Objects, reducing maintenance time for flaky tests.

  • Powerful Reports: Generate rich and powerful reports directly from your test execution, reducing documentation time each release.

  • Seamless Integration: Integrate Serenity BDD tests with Jenkins and Github Actions to run your test suite and publish reports automatically on every commit.

  • Unlock Hidden Features: Discover powerful hidden features of Serenity BDD directly from the framework author!

  • Higher Coverage, Richer Reporting: Achieve higher coverage and richer reporting with data-driven testing in Serenity BDD.

Discover The Best All-Round Java Test Automation Framework

Serenity BDD is one of the most popular Java test automation libraries, and for good reason!

Designed and delivered by John Ferguson Smart, the author and lead maintainer of Serenity BDD, this in-depth video training is constantly updated with the latest Serenity BDD features. It will give you a unique insight on how to use Serenity BDD the way it is intended. 

If you are writing automated web tests in Java, using Serenity BDD correctly can reduce the amount of code you need to write by well over 50%, slashing the amount of code you need to maintain yourself. 

Serenity BDD produces powerful test reports that you can use both as evidence of your testing activities and documentation of your application

And with over a million downloads a month, regular releases, and a vibrant open source community, it's a solid bet for your test automation framework!

In this course you'll discover:

  • How to write well-structured automated web tests with Serenity BDD, to maximise reuse and minimise maintenance costs

  • How to use Page Objects and Action Classes to make your test code more concise and more expressive, so you can write tests faster AND spend less time maintaining them later on;

  • How to choose effective locator strategies using XPath and CSS, including Serenity BDD's powerful dynamic locators

  • How to handle waits and asynchronous applications in Serenity BDD, making your tests more stable and robust

  • How to use data-driven testing with Serenity to get higher coverage and better reporting

  • How to run tests in parallel and get feedback faster

  • How to run your Serenity BDD tests remotely on Selenium Grid and services such as SauceLabs and BrowserStack

  • How to tailor your Serenity BDD reports, so they tell your stakeholders EXACTLY what they need to know

  • How to integrate Serenity BDD with JUnit 5, and get all the power of the latest and greatest version of JUnit

  • And much more

But more importantly, you'll discover the mindset behind the Serenity BDD framework. You'll see live examples of how the framework author uses Serenity BDD to write automated web tests faster and more reliably, and learn how to use the same techniques yourself.

After all, who better to teach you Serenity BDD than the author of the framework himself?

By the end of the course, you'll be able to build automated testing frameworks for your web applications quickly and effectively from scratch, harnessing the full power of Serenity BDD test automation framework.

Course curriculum

  • 1

    Welcome to the course!

    • A message from your instructor

    • How to use this course

  • 2

    Setting Up Your Environment

    • What You Need

    • Installing or Updating Java

    • Installing Maven

    • Installing Git and GitHub

    • Installing and Setting Up IntelliJ

    • Installing and Setting Up Eclipse

  • 3

    First Steps With Serenity BDD

    • Creating Your First Serenity Project

    • Your First Serenity BDD Test Case

    • Organising a Serenity Test Into Steps

    • Creating Reusable Steps Using Parameters

    • Organising Our Tests Into A Requirements Hierarchy

  • 4

    Locating Elements On A Page

    • Introduction To Locator Strategies

    • Locating Elements By ID

    • Locating Elements Using CSS Classes

    • Locating Elements By CSS

    • Locating Elements By Link Text

    • More Advanced CSS Expressions

    • Locating Elements With XPath

    • Locating Elements using Web Elements

  • 5

    CSS In Depth

    • Introduction to CSS Selectors

    • Locating Elements By Tag, Class or ID

    • Exercise - using CSS to locate simple elements

    • Locating Elements by Attribute Value

    • Exercise - Using CSS to Locate Elements by Attribute Value

    • Locating Child Elements

  • 6

    XPath In Depth

    • Introduction to XPath

    • XPath Predicates and Functions

    • Locating Elements by Attribute and Text Content

    • Working With Collections In XPath

    • Navigating the Page Structure With XPath

    • When Should I Use XPath?

  • 7

    Serenity BDD Action Classes

    • How and Why to Organize Your Test Cases From the User's Perspective

    • Action Classes In Action

    • Action Classes And The Serenity Reports

  • 8

    Page Objects In Serenity BDD

    • The Page Object Model

    • Page Objects In Serenity BDD

    • Page Objects vs Action Classes

  • 9

    Interacting With Web Elements In Serenity BDD

    • Working With Simple Input Fields

    • Working With Multiple Input Fields

    • Working With Checkboxes

    • Working With Radio Buttons

    • Working With Dropdown Lists

    • Hover And Other Mouse Actions

    • Configuring URLs

  • 10

    Making Assertions In Serenity BDD

    • Assertion Fundamentals

    • Writing Fluent Assertions With AssertJ

    • Reporting Assertions In Serenity

  • 11

    Handling Wait Conditions

    • Implicit and Explicit Waits In Serenity BDD

    • Waiting For Elements To Disappear

    • Waiting For Elements To Appear

  • 12

    Configuring Your Browser In Serenity BDD

    • Configuring Chrome

    • Configuring Firefox

    • Configuring Microsoft Edge

    • Practical Example: Downloading files to a temporary directory

  • 13

    Data Driven Tests

    • Basic Data-Driven Tests

    • Using Test Data From A File

  • 14

    Running Serenity On A Remote Server

    • Introduction To Remote Testing With Selenium

    • Running Serenity Tests On Selenium Hub

    • Configuring Different Target Environments

    • Running Serenity Tests on Saucelabs

    • Running Serenity Tests on BrowserStack

    • Configuring Custom Driver Capabilities

    • Advanced Driver Configuration (example with LambdaTest)

    • Running Serenity BDD Tests in Parallel

  • 15

    Serenity BDD and JUnit 5

    • Introduction to JUnit 5

    • Writing a JUnit 5 Test Case

    • Organising JUnit 5 Test Cases

    • Data Driven Testing In JUnit 5

  • 16

    Exercise - Testing The TodoMVC Application

    • TodoMVC Exercises

    • Introduction

    • Exercise 1 - Adding A Single Task

    • Exercise 2 - Adding Multiple Tasks

    • Exercise 3 - Completing A Task

    • Exercise 4 - Filtering Completed Tasks

    • Exercise 5 - Deleting Items

    • Exercise 6 - Data Driven Tests

    • Exercise 7 - Handling Multiple Environments

  • 17

    Serenity BDD 4.x

    • Migrating to Serenity BDD 4.x

Social proof: reviews

5 star rating

Amazing Tool Serenity

Asutosh Biswal

I was very much confused with Serenity libraries when I joined a project that had a Serenity based framework but after going through this course I realized h...

Read More

I was very much confused with Serenity libraries when I joined a project that had a Serenity based framework but after going through this course I realized how amazing Serenity is. It's easy to setup and use while it provides very good structure to the tests with simpler coding.

Read Less
5 star rating

Excellent course

Girish Govind

The course has really helped my understanding and knowledge.

The course has really helped my understanding and knowledge.

Read Less
5 star rating

Well Done

Mauro Madeira

Very well explained using good examples.

Very well explained using good examples.

Read Less

Start Learning Today

Take the first step towards mastering Serenity BDD and revolutionizing your testing process.