Automate UI Tests Twice As Fast In Half The Code With Serenity BDD
Write high quality, easy to maintain test automation for your web applications with 50% less code using Serenity BDD.
Serenity BDD is one of the most popular Java test automation libraries, and for good reason!
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 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!
This in-depth video training is designed and delivered by John Ferguson Smart, the author and lead maintainer of Serenity BDD. Constantly updated with the latest Serenity BDD features, this course will give you a unique insight on how to use Serenity BDD the way it is intended. 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.
A message from your instructor
How to use this course
What You Need
Installing or Updating Java
Installing Maven
Installing Git and GitHub
Installing and Setting Up IntelliJ
Installing and Setting Up Eclipse
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
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
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
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?
How and Why to Organize Your Test Cases From the User's Perspective
Action Classes In Action
Action Classes And The Serenity Reports
The Page Object Model
Page Objects In Serenity BDD
Page Objects vs Action Classes
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
Assertion Fundamentals
Writing Fluent Assertions With AssertJ
Reporting Assertions In Serenity
Implicit and Explicit Waits In Serenity BDD
Waiting For Elements To Disappear
Waiting For Elements To Appear
Configuring Chrome
Configuring Firefox
Configuring Microsoft Edge
Practical Example: Downloading files to a temporary directory
Basic Data-Driven Tests
Using Test Data From A File
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
Introduction to JUnit 5
Writing a JUnit 5 Test Case
Organising JUnit 5 Test Cases
Data Driven Testing In JUnit 5
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