Course curriculum

  • 1

    Introduction

    • How to use these sessions - READ THIS FIRST!

  • 2

    Q&A and other topics

    • July 29 2020 - Creating Projects in IntelliJ

    • Oct 7 2020 - General BDD Q&A and Tooling

    • Oct 21 2020 - General BDD Q&A

    • Oct 28 2020 - Course Curriculum Q&A

    • Nov 4 2020 - Course Curriculum and Q&A

    • Nov 11 2020 - Course Curriculum and Q&A

    • Nov 18 2020 Course Curriculum and Q&A

    • Nov 25 2020 - Course Curriculum and Q&A

    • Dec 2 2020 - Course Curriculum and Q&A

  • 3

    BDD Mastery

    • Jun 09 2020 - Identifying Test Cases With Example Mapping

    • Aug 11 2020 - Expressing Requirements in Gherkin

    • Aug 18 2020 - Expression Requirements in Gherkin (Part 2)

    • Sept 8 2020 - Example Mapping Exercise

    • Sept 22 2020 - Retrofitting Gherkin - Writing Gherkin Scenarios For Existing Apps

    • Oct 6 2020 - Feature Mapping

    • Dec 9 2020 - Gherkin Refactoring - the e-wallet

    • Dec 23 2020 - Mastering Cucumber 6 glue code - part 1

    • Oct 27 2020 - From Requirements to Gherkin Example - Part 1

    • Jan 06 2021 - Writing Real-World Gherkin Part 1

    • Jan 13 2021 - Password Reset Example

    • Jan 27 2021 - Flying High Example Mapping

    • Feb 3 2021 - Writing BDD Scenarios for Forms

    • Feb 17 2021 - Gherkin Refactoring Exercises

    • Feb 24 2021 - Gherkin Refactoring: Hotel Bookings

    • Mar 3 2021 - Writing Gherkin Scenarios: Amazon Product Search

    • Mar 10 2021 - Amazon Shopping Scenarios Part 2

    • Mar 17 2021 - Example Mapping Practice

    • Apr 7 2021 - Real World Gherkin Scenario Refactoring - Part 1

    • Apr 14 2021 - Real World Gherkin - Work With Dynamic Menus

    • Apr 21 2021 - Example Mapping: Flying High Frequent Flyer Points

    • April 28 - Writing Gherkin for an existing website (Singapore LTA)

    • May 5 2021 - Real-world BDD requirements analysis

    • May 12 2021 - The BDD Flow

    • May 19 2021 - Feature Mapping

    • May 26 2021 - Formulate: From Feature Maps To Gherkin Scenarios

    • Jun 3 2021 - Q&A

    • Jun 8 2021 - Real World Gherkin Example: Punch Clock Manager

    • Jun 29 2021 - A Deep Dive On Java Interfaces

    • Mar 23 2021 - End-to-End BDD Session 1 - Margin Accounts Example Mapping

    • Jul 6 2021 - Using Gherkin For File Format Validation

    • Jul 20 2021 - Gherkin Writing Exercise: Hardware Store

    • Aug 3 2021 - Example mapping and Gherkin for static web sites

    • Aug 31 2021 - Creating a Cucumber project from scratch

    • Sept 13 2021 - BDD For Legacy Applications: Part 1

    • Sept 20 2021 - Automating Cucumber Scenarios For An Existing Application

    • Oct 11 2021 - Use Cases and Example Maps: Swag Labs Site

    • Oct 19 2021 - BDD Requirements discovery exercise - from examples to Gherkin with a real-world example from the field of civil aviation

    • Oct 26 2021 - BDD Requirements discovery exercise - Visual Flight Rules part 2 - more complex requirements

    • Nov 2 2021 - BDD - Translating User Screen Mock-Ups Into Gherkin

    • 16 Nov 2021 - Planning test strategies with Impact Mapping

    • 30 Nov 2021 - Requirements Discovery Techniques - What Happens When Part 1

    • 30 Nov 2021 - Requirements Discovery Techniques - What Happens When Part 2

    • 04 Jan 2022 - Introduction to Cucumber 7 - Writing Step Definitions

    • 20 April 2022 - Example Mapping: Pilot Medicals

    • 04 May 2022 - From Gherkin to Test Automation Code: The Pilot’s Medical Example

    • 11 May 2022 - BDD scenario writing - Pilot Medicals with dates

    • 25 May 2022 - Gherkin refactoring

    • 13 June 2022 - BDD: Example Mapping and Gherkin for working with static web sites

    • 22 June 2022 - Using custom Cucumber Expressions

    • 13 July 2022 - BDD Requirements Exercise for a New Application

    • 24 Aug 2022 - Calculator exercise with BDD and Screenplay Parts 1

    • 26 Aug 2022 - Calculator exercise with BDD and Screenplay Parts 2

    • 21 Sept 2022 - Transport for London Example Mapping Exercise

    • 28 Sept 2022 - BDD Scenario Refactoring - Tax Payments Example

    • 02 Dec 2022 - BDD for API Testing

    • 26th April 2023 - Example Mapping - The Elevator Exercise

    • 03 May 2023 - Serenity BDD Vs Selenium For Web Testing

    • 12 May 2023 - Using Cucumber Expressions

    • 17 May 2023 - Example Mapping Pizza Delivery

    • 24 May 2023 - The Pizza Exercise - from Examples To Gherkin

    • 25 May 2023 - The Pizza Exercise - From Gherkin To Automation

    • 08 June 2023 - Parameterized tests in JUnit Part 1

    • 07 June 2023 - Parameterized tests in JUnit Part 2 - Using csv files and Excel

    • 14 June 2023 - BDD scenario review and Q&A

    • 15 June 2023 - BDD Exercise Troubleshooting

    • 29 June 2023 - Feature Mapping: A Real-World Example

    • 05 July 2023 - Gherkin for UI Requirements

    • 12 July 2023 - Gherkin scenario reviews

    • 20th July 2023 - BDD in .NET with Specflow

    • 13 Sept 2023 - Example Mapping - EasyJet

    • 20 Sept 2023 - From Example Maps To Gherkin

    • Sept 27 2023 - BDD and Test Automation for RyanAir

    • 04 Oct 2023 - BDD and Test Automation for RyanAir - Part 2

    • 05 Oct 2023 - RyanAir With Cucumber and Action Class

    • 11 Oct 2023 - Impact Mapping Exercise

    • 26 Oct 2023 - BDD and Wordle

    • 02 Nov 2023 - End To End BDD with Wordle - 3 Amigos and Example Mapping

    • 03 Nov 2023 - Writing Executable Specifications For Wordle

    • 07 Nov 2023 - Writing Cucumber Step Definitions for the Wordle App

    • 15 Nov 2023 - E-Commerce Example and Feature Mapping

    • 06 Dec 2023 - Example Mapping - Authentication Scenarios

    • 13 Dec 2023 - Live Coding BDD Cafe Exercise

    • 20 Dec 2023 - BDD with Cucumber

    • 11 Jan 2024 - Example tables

    • 24 Jan 2024 - Example Mapping Authentication Scenarios

    • 31 Jan 2024 - Gherkin Scenario Writing Exercise

    • 15 April 2024 - BDD and Test Automation - the MarsAir exercise

    • 22 April 2024 - BDD and Test Automation - the MarsAir exercise adding promo code checks

    • 13 May 2024 - How to run a Three-Amigos workshop

    • 20 May 2024 - Online Banking App exercise - writing BDD scenarios

    • 10 June 2024 - Feature Mapping - Customer Onboarding

    • 17 June 2024 - Test automation layers

    • 8th July 2024 - Modelling date and time-based requirements in Gherkin

    • 12 August 2024 - Example Mapping: Eco-House App

    • 30 September 2024 - Testing Strategy Brainstorming and Risk Assessment Techniques

    • 7 October 2024 - Example Mapping

    • Example Mapping Exercise: FX trading

  • 4

    Fluency and Fundamentals

    • May 26 2020 - working with Java Collections

    • Jun 02 2020 - Working With Strings

    • Jun 09 2020 - Working With Exceptions

    • June 16 2020 - Working with Exceptions

    • Jul 7 - A Deep Dive Into Exception Handling

    • June 30 2020 - Going Further With Custom Enums

    • Jul 14 2020 - Introduction to Java 8 Lambdas

    • Jul 21 2020 - Creating A Framework From Scratch

    • Jul 28 2020 - Working With Regular Expressions

    • Aug 4 2020 - Simple CSS Locators

    • Aug 25 2020 - Working With Excel Files in Java

    • Sept 1 2020 - Learning Strategies

    • Sept 15 2020 - Inheritance and Interfaces in Practice

    • Oct 13 2020 - Java Exercise - A String Calculator

    • Oct 20 2020 - Working With Java 8 Streams

    • Nov 3 2020 - WebDriver Locators Practice

    • Nov 10 2020 - Introduction to Git - Part 1

    • Nov 17 2020 - Introduction to Git - Part 2

    • Nov 24 2020 - Builder Patterns

    • Dec 1 2020 - Talking Clock Challenge

    • Dec 1 2020 - Shopping Cart Challenge

    • Dec 8 2020 - Talking Clock Exercise

    • Jan 5 2021 - Test Script Refactoring

    • Jan 12 2021 - Java Shopping Cart Challenge

    • Jan 26 2021 - The Command Pattern and the General Kata

    • Feb 2 2021 - Currency Formats in Java

    • Feb 9 2021 - Java 8 Lambda Expressions

    • Feb 10 2021 - Advanced Comparators

    • Feb 16 2021 - Back to Basics: Building Simple Domain Models in Java

    • Feb 23 2021 - Publics and Privates in Java Methods and Classes - A Deep Dive

    • Mar 2 2021 - Agile Testing Fundamentals: Testing Strategies

    • Mar 16 2021 - Q&A on Agile Testing Strategies and How to Prepare an Agile Testing Strategy Document

    • Mar 31 2021 - Writing Fluent Java Code

    • Apr 6 2021 - Abstract Classes

    • Apr 20 2021 - Advanced Collections

    • May 4 2021 - The Builder Pattern

    • May 11 2021 - Java Interfaces In Depth

    • May 18 2021 - Managing test data in Java properties files

    • Jun 1 2021 - Speaking Clock Kata

    • Jul 27 2021 - Working with Dates in Java

    • Sept 7 2021 - Organising Test Automation Code

    • Oct 5 2021 - Using Enums In Test Automation

    • Oct 12 2021 - A Coding Challenge (The Java Fruit Shop Exercise)

    • Nov 10 2021 - Working with Java Collections

    • 07 Dec 2021 - Modern Java Features: records, pattern switches and the var keyword

    • 14 Dec 2021 - Java Collections Deep Dive

    • 11 Jan 2022 - Working With Dates in Java

    • 18 Jan 2022 - Advanced Step Definitions and Data Types in Cucumber 7

    • Jan 25 2022 - How to Store Configuration and Test Data in JSON Files Using TypeSafe Config

    • Feb 01 2022 - Domain Modelling with Java Classes

    • Feb 08 2022 - Understanding and Using Exceptions

    • Feb 15 2022 - Working With Microservices part 1 - Example Mapping

    • Feb 25 2022 - Testing Microservices and APIs

    • 08 March 2022 - Refactoring a Real-World Cucumber Scenario

    • 05 March 2022 - Using Lambda Expressions to process collections for domain classes and Web Elements

    • 30 March 2022 - Working with Excel Spreadsheets in Java

    • 06 April 2022- Page Object Fundamentals Part 1

    • 07 April 2022 - Page Object Fundamentals Part 2

    • 13 April 2022 - Page Object Fundamentals Part 3

    • 14 April 2022 - Refactoring Page Objects with Action Classes

    • 12 May 2022 - Building and deploying a test automation framework from scratch - Part 1

    • 18 May 2022 - Building and deploying a test automation framework from scratch - Part 2

    • June 01 2022 - Testing a Registration Form

    • 16 June 2022 - Working with Static Site Navigation

    • 28 July 2022 - Wordle Challenge - Implementing the Step Definitions

    • 01 Aug 2022 - Wordle Challenge - Implementing the Step Definitions Part 2

    • 03 Aug 2022 - IntelliJ Features That Make Coding Java Easier

    • Sept 02 2022 - The fundamentals of Git, Github and Github classrooms

    • Sept 07 2022 - The fundamentals of Git Part 2

    • 14 Sept 2022 - Java Challenge: Fruit Shop Kata

    • 19 Oct 2022 - Assertion Libraries in Java

    • Oct 26 2022 - Inheritance and Polymorphism in Java

    • 02 Oct 2022 - Introduction to Maven

    • 16 Nov 2022 - Working with Java Collections

    • 23 Nov 2022 - Introduction to Rest API Testing

    • 07 Dec 2022 - Java Lambda Expressions

    • 14th Dec 2022 - Speaking Clock Kata

    • 22nd Dec 2022 - Speaking Clock Kata Part 2

    • 11th Jan 2023 - Patterns for Preparing Test Data

    • 19th Jan 2023 - Java for Testers Exercises

    • 25 Jan 2022 - Working with Selenium Grid - Part 1

    • 02 Feb 2022 - API Testing Fundamentals: HTTP Verbs

    • 01 March 2023 - Web Testing Challenge Part 1

    • 02 March 2023 - Web Testing Challenge Part 2

    • 08 March 2023 - Web Testing Challenge Part 3

    • 30 March 2023 - Git branches, Merges, Forks and Pull Requests Part 1

    • 31 March 2023 - Git branches, Merges, Forks and Pull Requests Part 2

    • 05 April 2023 - Git cloning, Merging, Forks and Pull Requests Part 3

  • 5

    Live Coding

    • Apr 24 2020 - Java Coding

    • May 1 2020 - Builder Pattern Strategies

    • May 8 2020 - Java 8 Date API

    • May 8 2020 - Live Coding Q&A

    • May 22 2020 - Action Classes

    • May 22 2020 - Refactoring Using The Builder Pattern

    • June 5 2020 - A Simple UI Test

    • June 12 2020 - Example Mapping

    • June 19 2020 - From Examples to Cucumber Acceptance Tests

    • Jun 23 2020 - From Cucumber Scenarios to Automation Code

    • June 26 2020 - From Cucumber Scenarios to Automation Code

    • July 10 2020 - Rest API Testing Part 1 - Exploring API

    • July 17 2020 - REST API Testing Part 2

    • July 24 2020 - REST API Testing Part 3 - A Simple REST Test

    • July 30 2020 - The TodoMVC App - Writing A Simple Test Framework

    • Aug 7 2020 - A Real World Website - The TFL App

    • Aug 14 2020 - A Real World Website - The TFL App - Part 2

    • Aug 28 2020 - A Real World Website - The TFL App - Part 3

    • Sept 3 2020 - A Real World Website - The TFL App - Part 4

    • Sept 10 2020 - Refactoring Test Code

    • Sept 17 2020 - Automating Gherkin Scenarios Using the Screenplay

    • Sept 24 2020 - Live Coding - Visa Example

    • Oct 1 2020 - Live Coding - Visa Example (Part 2)

    • Oct 9 2020 - Live Coding - Testing With Spring Demo

    • Oct 15 2020 - Deep Dive - Lambda Expressions

    • Oct 22 2020 - Web Testing From Scratch

    • Oct 29 2020 - Web Testing From Scratch - Part 2

    • Nov 5 2020 - Web Testing From Scratch - Part 3

    • Nov 12 2020 - Web Testing From Scratch - Part 4

    • Nov 19 2020 - Web Testing From Scratch - Part 5

    • Dec 3 2020 - Turning A String Into A Number

    • Dec 10 2020 - Requirements Discovery - the Flying High app

    • Dec 17 2020 - Live Coding on a real-world project - Real Estate API project

    • Jan 07 2021 - Flying High - Registering a user

    • Jan 28 2021 - Flying High Session 1 - Logging On

    • Feb 4 2021 Flying High Registration Page

    • Feb 11 2021 - Flying High Exercises Part 2 - Atomic UI Tests

    • Feb 18 2021 - Flying High Booking Sequence

    • Feb 25 2021 - Flying High Episode 4 - Working With Questions

    • Mar 4 2021 - Amazon Product Search Lesson 1 - Project Setup and Navigation

    • Mar 11 2021 - Flying High Booking Scenarios

    • Mar 25 2021 - End-to-end BDD session 3 - Writing Gherkin Scenarios

    • Apr 8 2021 - Real World Gherkin Scenario Refactoring - Part 2

    • Apr 15 2021 - Advanced Screenplay Pattern: Flying High App

    • Apr 29 2021 - Implementing navigation scenarios - real world example

    • May 6 2021 - Page Object Fundamentals

    • May 13 2021 - Soft Assertions

    • May 20 2021 - Testing scenarios via an API

    • May 27 2021 - Introduction to Maven

    • Jun 2 2021 - Gherkin Refactoring Techniques

    • Jun 16 2021 - Live Coding Exercise: Roman Numerals

    • Jun 23 2021 - Live Coding Roman Numerals Kata Part 2

    • Feb 08 2023 - Live Java Coding Exercise - Fruit Shop Challenge Part 1

    • Feb 09 2023 - Live Java Coding Exercise - Fruit Shop Challenge Part 2

  • 6

    Test Automation

    • Jun 9 2021 - End to End Testing with Screenplay - Part 1

    • Jun 10 2021 - Selenium Locators

    • Jun 16 2021 - Advanced Screenplay live coding part 2

    • Jun 17 2021 - Working with UI components in Screenplay - part 1

    • Jun 23 2021 - Circleci integration, slack notification and uploading reports to AWS S3

    • Jun 24 2021 - Working With UI Components Part 2

    • Jun 30 2021 - Execute Test Suites with Jenkins Pipeline Script

    • Jul 1 2021 - Creating reusable UI automation components with Screenplay

    • Jul 7 2021 - Explore the browsers devtools network tab to build e2e api automation for quickly setting up test data

    • Jul 8 2021 - Working with JSON-based APIs - Google Payments (Part 1)

    • Jul 21 2021 - X ways of managing request bodies

    • Jul 22 2021 - Working with file downloads in Selenium

    • Jul 14 2021 - Actors using the api interacting with actors using the browser

    • Jul 28 2021 - Playing a tutorial on lichess.org

    • Jul 29 2021 - Working with public REST APIs

    • Aug 4 2021 - Minimal screenplay implementation in kotlin

    • Aug 5 2021 - Working with REST API queries

    • Sept 2 2021 - Introduction to JUnit 5

    • Sept 8 2021 - Working with existing test suites part 1

    • Sept 15 2021 - Implement Screenplay in Kotlin: Mocks and Spys

    • Sept 17 2021 - Formulate: from examples to acceptance criteria

    • Sept 22 2021 - Kotlin Screenplay; Ability To Use The Browser

    • Sept 29 2021 - ATDD the most simple neural network

    • Oct 1 2021 - From Example Maps To Automated Tests using Screenplay and JUnit 5

    • Oct 7 2021 - Writing reusable components with Serenity Screenplay and JUnit 5: Swaglabs demo site

    • Oct 13 2021 - ATDDing A Simple Neural Net

    • Oct 14 2021 - UI Testing With Serenity Screenplay Page Elements

    • Oct 20 - ATDDing A Simple Neural Net Continued

    • Oct 27 2021 - Build things the ADDT way: The worlds simplest neural net

    • Oct 28 2021 - Making our expectations more readable with assertions

    • Nov 3 2021 - Add Some Good Selectors to a React Application

    • Nov 4 2021 - Advanced Cucumber Parameter Types

    • Nov 10 2021 - Frontend Architecture And What Are Good Selectors

    • Nov 11 2021 - Test Automation Framework Strategies

    • Nov 17 2021 - ATDD: Frontend Refactoring and Step Reporting

    • Nov 18 2021 - Running Parallel Tests on Saucelabs and Browserstack

    • Nov 24 2021 - Serenity Screenplay with the Browser

    • Nov 26 2021 - Locatorless Elements in Serenity 3

    • Dec 01 2021 - Serenity Screenplay with the Browser, Making a Nice Report

    • Dec 02 2021 - Creating a Simple Test Framework from Scratch (Using Serenity BDD and Standard Selenium)

    • Dec 08 2021 - Serenity Screenplay with the Browser, Session Cookie, Compromised Tests

    • Dec 09 2021 - Advanced Action Classes

    • Dec 15 2021 - How to Reuse Lichess.org Auth Cookies

    • Dec 16 2021 - XYZ Bank exercises - Part 1

    • Jan 06 2021 - Writing UI Tests for Calendar Selectors

    • Jan 12 2022 - Login to Lichess.org Until You See a "Too-Many-Requests" Message

    • Jan 14 2022 - Exploring Date Components and Other Dynamic Forms

    • 19 Jan 2022 - Using the Javascript Executor to Pause the Testscript and Alert a Human to do Something

    • 20 Jan 2022 - RyanAir - Working with Dates and Debugging Screenplay Tests

    • 26 Jan 2022 - Writing Screenplay Performables to Find Emails with the Mailosaur API

    • 27 Jan 2022 - Testing Ryan Air Part 3

    • 02 Feb 2022 - Scraping Data from Github with a Browser

    • 03 Feb 2022 - REST API Testing - Part 1

    • 17 Feb 2022 - REST API Testing - Part 2

    • 01 March 2022 - Rest API Testing - Part 3

    • 03 March 2022 - REST API Testing - Part 4

    • 10 Feb 2022 - Working with HTML Tables

    • 16 Feb 2022 - Dockerfiles and Docker-Compose - Run Tasks and Services from Executable Specification

    • 22 Feb 2022 - Advanced Locator Strategies for Screenplay

    • 23 Feb 2022 - Run Serenity Tests with Google Cloud Services

    • 02 March 2022 - Docker Basics and How to Model a CI Pipeline

    • 11 March 2022 - Writing Smoke Tests

    • 16 March 2022 - Defining Request Examples Between Services with Mockwebserver

    • 17 March 2022 - Working with Multi-Lingual Web Sites

    • 23 March 2022 - Integration Testing Between Two Microservices

    • 24 March 2022 - Greek Travel Site - Locating Complex Web Elements Part 1

    • 01 April 2022 - Greek Travel Site - Locating Complex Web Elements Part 2

    • 06 April 2022 - New in Selenium 4: Element Screenshots, Relative Locators, Network Request Interception

    • 20 April 2022 - Scraping Gibthub Repositories and Pushing the Data to Google BigQuery

    • 27 April 2022 - Scraping Github, Fixing a Bug in a Question

    • 28 April 2022 - Example Mapping: Gherkin Scenarios

    • 04 May 2022 - Trying Different Ways to Scroll to the Bottom of a Text

    • 06 May 2022 - Lombok

    • 11 May 2022 - Exploring a Map Application and Getting Started With Cypress Visual Regression Checking

    • 19 May 2022 - Dealing with Toasters and Pop Up Messages

    • 25 May 2022 - What Does a Good CI/CD Pipeline Look Like?

    • 24 June 2022 - Introduction to REST API testing

    • 29 June 2022 - Ensuring Requests and Responses for Microservices and a React Frontend

    • 29 June 2022 - Introduction to REST API Testing Part 2

    • 06 July 2022 - React Component Testing, Make and Mock Requests Based on Input and Button Clicked

    • 13 July 2022 - Mock a Service in a Spring Boot Test

    • 15 July 2022 - Automating Drag-And-Drop

    • 04 Aug 2022 - Wordle: writing tests for micro services

    • 30 Sept 2022 - Exporting API Calls into a CSV File

    • 13 Oct 2022 - BDD - The OOPSI Model

    • 27 Oct 2022 - Page Object patterns in Java - Part 1

    • 03 Nov 2022 - Page Object Patterns in Java - Part 2

    • 24 Nov 2022 - Testing Spring Boot Services

    • 23 Nov 2022 - Let's Play Bitburner: A Programming Game for the Browser

    • 30 Nov 2022 - Deploy Your Own ToDo App on GCP

    • 01 Dec 2022 - BDD Test Data Setup

    • 12th Jan 2023 - Testing a Car Insurance Application with Serenity Screenplay

    • 16th Jan 2023 - Testing a Car Insurance Application with Serenity Screenplay Part 2

    • 26 Jan 2023 - Testing a Car Insurance App with Serenity Screenplay Part 3

    • 03 Feb 2023 - Testing a Car Insurance App with Serenity Screenplay Part 4

    • 16 Feb 2023 - Car Insurance Tutorial (Advanced UI Automation)

    • 23 Feb 2023 - Running Tests in Parallel With BrowserStack

    • 13 March 2023 - Builder Pattern and Other Ways to Build Objects

    • 17 March 2023 - Coding a Real Application: Trip Rates

    • 23rd March 2023 - Implementing Some More Advanced Features on the Ecommerce Site

    • 07 April 2023 - The Test Automation Tactics workshop

    • 13 April 2023 - RestAssured basics

    • 27 April 2023 - BDD Elevator Exercise - Writing Gherkin Scenarios

    • 04 May 2023 - How to test a PDF file in Java

    • 12 May 2023 - Selenium Locator Strategies

    • 18 May 2023 - Advanced Selenium Locator Strategies

    • 22 June 2023 - Creating a JUnit Test Automation Framework From Scratch - Part 1

    • 29 June 2023 - Storing Authentication Data with Cookies

    • 04 July 2023 - Basic Screenplay Test Automation

    • 13 July 2023 - Test Automation Code Review

    • 03 Aug 2023 - Q&A Locating Elements on a Page

    • 23 Aug 2023 - Working with Shadow DOM Elements

    • 31 Aug 2023 - Using Property-Based Testing on a Real Project

    • 21 Sept 2023 - Testing EasyJet with Cucumber and Screenplay

    • 12th Oct 2023 - UI Test Automation Practice

    • 19 Oct 2023 - RyanAir - Grouping Test Steps into Preconditions

    • 26 Oct 2023 - Handling Cookies in Selenium (RyanAir example)

    • 09 Nov 2023 - Implementing API-driven step definitions for the Wordle App

    • 07 Dec 2023 - Web Testing With the OrangeHRM Demo Site

    • 14 Dec 2023 - OrangeHRM Website Testing Exercise

    • 21 Dec 2023 - Working with Infinite Scrolls and Waits

    • 10 Jan 2024 - Comparing Data Records

    • 25th Jan 2024 - Setting up a screenplay project from scratch and implementing some signup tests

    • 1 Feb 2024 - Using Soft Assertions in UI Test Automation

    • 25 April 2024 - Running in parallel and passing different driver configurations

    • 15 August 2024 - Test automation maintenance tips

  • 7

    JavaScript Basics

    • Introduction to JavaScript

    • Javascript Logical Operators and Comparisons

    • Javascript Flow Control With Loops and Conditions

    • Javascript Arrays and Objects

    • 28 Sept 2022 - Javascript Maps and Functions

    • 05 Oct 2022 - JavaScript Function Arguments and the Spread Operator

    • 12 Oct 2022 - Object Oriented Javascript

    • 26 Oct 2022 - Asynchronous Javascript

    • 02 Nov 2022 - JavaScript DOM basics, Creating and Interacting with Elements

    • 19 July 2023 - Getting started with Testcafe

    • 26 July 2023 - Javascript Basics: How to Learn on Your Own Time & BDD Challenge Review

    • 02 Aug 2023 - Example Mapping the Spacetraders.io Quick Start and Javascript Inheritance with Prototypes

    • 09 Aug 2023 - Refactoring playwright JS scripts

    • 13 Sept 2023 - Getting Started with Cucumber - JS

    • 20 Sept 2023 - Cucumber. JS - Implementing the First Scenario

    • 27 Sept 2023 - Cucumber.JS - Implementing Data Tables, More License and Medical Certificate Confusion

    • 03 Oct 2023 - Cucumber-JS, Finish Implementing the Rules for Pilot Licenses and Medical Certificates

    • 17 Oct 2023 - API Automation with Supertest, First Calls to the SpaceTradersAPI, Refactoring to Step Methods and Using 'BeforeAll

    • 24 Oct 2023 - API Automation with Supertest, Accepting the Starting Contract

    • 07 Nov 2023 - API Automation with Supertest, Refactor to Use Agents, Finding Shipyards

    • Javascript API Test with Supertest: Some Negative Scenarios

    • 05 Dec 2023 - JavaScript API Test with Supertest: Finding a Mining Drone to Buy

    • 12 Dec 2023 - Javascript API Test with Supertest: Buying a Mining Drone

    • 30 Jan 2024 - JavaScript API Test with Supertest: Buy Until You Run Out of Money

    • 03 April 2024 - JavaScript Test Automation

    • 09 April 2024 - Javascript test automation using the prism mocks and springdoc badly

    • 24 April 2024 - Javascript Test Automation services, interfaces, where to mock.. and other struggles when trying to automate in big projects

    • 01 May 2024 - Javascript Test Automation: playwright project - steps and POM

    • 08 May 2024 - Java vs js; objects and data structures

    • 09 May 2024 - Introduction to UI and API blended testing with the Wordle App

    • 15 May 2024 - javascript basics: general guidelines on what to automate when starting e.g. a frontend project

    • 22 May 2024 - how to start the JS basics classroom and some small JS katas

    • 29 May 2024 - quick intro into playwright

    • 19 June 2024 - two codewars debugging katas

    • 26 June 2024 - playwright examples we covered in other live sessions

    • 17 July 2024 - talking about JS frameworks and reading an excel file

  • 8

    Cypress

    • 28 Jan 2022 - Cypress Live Sessions Kick-off

    • 11 Feb 2022 - Cypress Fundamentals - Part 1

    • 09 March 2023 - Getting Started with Cypress

    • 30 March 2023 - Testing A Simple eCommerce Site

    • 06 April 2023 - Page Objects In Cypress

    • 13 April 2023 - Cypress App Actions

    • 04 May 2023 - Interacting with REST APIs in Cypress

  • 9

    Guest Lectures

    • 28 Feb 2022 - Hybrid or Native Applications - Sebastian Orozco

    • 07 March 2022 - Java Records - Juan De Jesus Fernandez

    • 14 March 2022 - Daniela Garzón - Estrategias de localizacion de elementos en una pagina

    • 21 March 2022 - Gustavo Rincon - Serenity BDD & RestAssured

    • 28 March 2022 - Sebastian Orozco - Mobile Tests: The Beginners Guide Part 1

    • 04 April 2022 - Sebastian Orozco - Mobile Tests The Beginners Guide Part 2

    • 11 April 2022 - Sebastian Orozco - E2E Tests on Microservices Architectures

    • 25 April 2022 - Daniela Garzón - Como Automatizar Servicios Rest Con Serenity BDD

    • 09 May 2022 - Sebastian Orozco - Handling the Driver to Run Unattended Mobile Tests

    • 23 May 2022 - Juan Fernandez - Webdrivermanager (Banigarcia) Integrated with Serenity + Screenplay

    • 30 May 2022 - Daniela Garzón - Pruebas Basadas en Datos en Serenity BDD

    • 11 July 2022 - Joe Haubrich - Mobile Application Testing 101

    • 25 July 2022 - Juan Fernandez - Cross-Platform Test Cases

    • 01 August 2022 - Daniela Garzón - Integración de un proyecto con Serenity en Jenkins

    • 09 Aug 2022 - Gustavo Rincón - Let's talk about CI/CD Pipelines

    • 29 Aug 2022 - Joe Haubrich - Utilizing Serenity BDD Screenplay with Windows Applications

    • 05 Sept 2022 - Select This Row Daniela Garzón - Connection to database in a Serenity Rest project Using JPA

    • 12 Sept 2022 - Juan Fernandez - Recursion and how to use it with Serenity and Screenplay

    • 19 Sept 2022 - Juan Fernandez - CSV External File to Handle Data on Your Automation

    • 27 Sept 2022 - Juan Fernandez - Creational Design Patterns on Test Automation

  • 10

    Web and API Testing in JavaScript and TypeScript with Playwright

    • Introduction to PlayWright

    • Playwright Locators

    • Playwright Locators: Practical Exercises

    • Playwright Live Coding: The TFL Website

    • 06 Oct 2022 - Page Objects in Playwright TFL Website ue

    • 13 Oct 2022 - Testing TFL with Playwright - part 2 ue

    • 20 Oct 2022 - Using the Builder Pattern in TypeScript with Playwright ue

    • 10 Nov 2022 - Using The Builder Pattern With TypeScript And Playwright

    • 20 April 2023 - Refactoring the Page Object Model to Screenplay

  • 11

    Java 101

    • Feb 02 2023 - Java 101

    • Feb 16 2023 - Java 101

    • Feb 23 2023 - Java 101

    • Mar 07 2023 - Java 101

    • Mar 13 2023 - Java 101

    • Mar 20 2023 - Java 101 Fruit Shop Calculator Part 1

    • Mar 22 2023 - Java 101 Fruit Shop Calculator Part 2

    • Mar 27 2023 - Java 101 Writing Assertions

    • April 17 2023 - Java 101 Stream Basics

    • April 24 2023 - Java 101 Type Face Config Library

    • 22 May 2023 - Java 101 Database Basics

    • 19 June 2023 - Java Q&A Session

    • 26th June 2023 - Assertions in Java

    • 03 July 2023 - Java 101 Installing Jenkins

    • 10 July 2023 - Creating a Cucumber Selenium Test Script from Scratch

    • 17 July 2023 - Java 101 - Formatting Numbers and Dates

    • 31 July 2023 - Introduction To Mocking with Mockito

    • 21 Aug 2023 - Advanced Enums

    • 30 Aug 2023 - Property-based testing in Java

    • 04 Sept 2023 - Building a Portfolio Site with Github Pages part 1 - Github Pages Basics

    • 06 Sept 2023 - Reviewing Java Interfaces

    • 11 Sept 2023 - The String Calculator Challenge

    • 18 Sept 2023 - Creating A GitHub Portfolio Page - Part 2

    • 25 Sept 2023 - Java Exceptions

    • 09 Oct 2023 - Java Conventions

    • 18 Oct 2023 - Java 101 - Speaking Clock Kata

    • 24 Oct 2023 - Java Streams

    • 31 Oct 2023 - The Singleton Pattern

    • 06 Nov 2023 - Design Patterns: Factory Pattern and Builder Pattern

    • 13 Nov 2023 - Strategy Pattern

    • 04 Dec 2023 - Data driven testing in JUnit 5

    • 08 Jan 2024 - Java Q&A

    • 22 Jan 2023 - Codewars.com walkthrough - complete two Katas

    • 29 Jan 2024 - How to Customize Your Serenity Reports

    • 26 March 2024 - New Java 101 Stream: Compiling Java, Maven Quickstart Archetype, and Planning the Next Sessions

    • 02 April 2024 - Java Code Kata, Unique Characters in a String with, Stream and Filter Characters

    • 09 April 2024 - Java basics, writing your own assertions, assert exceptions

    • 16 April 2024 - Java 101 test doubles aka mocking

    • 30 April 2024 - Java 101, variables, methods, objects

    • 14 May 2024 - throw exceptions, the intellij debugger, and reviewing a maven serenity cucumber example project

    • 21 May 2024 - Junit5 @DisplayName and generating names

    • 28 May 2024 - intellij project setup issues and feedback PRs for exercises

    • 04 June 2024 - using github classrooms to submit java excercises and some katas

    • 11 June 2024 - how to use github classroom to submit homework

    • 12 June 2024 - fix java and maven setup on windows

    • 18 June 2024 - mvn project structure and stream api

    • 25 June 2024 - read excel sheet data

    • 09 July 2024 - codewars katas

    • 16 July 2024 - confusing codewars katas

    • 24 July 2024 - java substring function

    • 27 August 2024 - WebdriverWait and getting text from webdriver input elements

    • 03 September 2024 - Identifying test cases with a Question Matrix

    • 04 September 2024 - functional interfaces and lambdas

    • 05 September 2024 - maven playwright project setup

    • 11 September 2024 - Introductory Java session

    • 17 September 2024 - Java 101 and GitHub setup for beginners

    • 24 September 2024 - Java Programming Concepts

    • 25 September 2024 - Method Parameters and TDD

    • 01 October 2024 - Java Programming Concepts and Maven Build Tool Usage

    • 08 October 2024 - Java Learning Progress and Troubleshooting

    • 09 October 2024 - Lambda Expressions and Functional Interfaces

    • 15 October 2024 - Test Automation and GitHub collaboration, using the FizzBuzz exercise

    • 05 November 2024 - FizzBuzz Challenge

    • 13 November 2024 - FizzBuzz with Functional Programming Style

  • 12

    Full Stack Test Automation Project

    • Full Stack Test Automation Project - Introduction

    • 12 Dec 2022 - ToDo App - Save list - start API examples

    • 09 Jan 2023 - ToDo App - Acceptance Tests with Supertest

    • 16th Jan 2023 - ToDO list Fullstack - Overview and How to Collaborate on the New Feature

    • 23 Jan 2023 - ToDo List Full stack - Cypress Component Test

    • 30 Jan 2023 - ToDo App Fullstack - minimal Postman collection running in CI

    • 06 Feb 2023 - What is Mocking?

    • 20 Feb 2023 - What Does a Good Test Strategy Look Like & UI e2e Unit Test With React

    • 27 Feb 2023 - Making Sure Request Bodies Are as Expected as Frontend Integration Test

    • 06 March 2023 - Fullstack todo app - Failing to Fix the 'load list' Functionality

    • 13 Mar 2023 - Fullstack todo app - Showing Terraform and Deploying the Save List Feature

    • 20th Mar 2023 - Fullstack todo app - Fixing Server Deployment and Finding More Bugs

    • April 24 2023 - Todo App - Running it with Docker

    • 15 May 2023 - ToDo List Full Stack: better error message when loading a list that doesn't exist

    • 22 May 2023 - ToDo List Fullstack: fixing a bug and preparing for the authentication feature

    • 5 June 2023 - ToDo app fullstack: placeholder e2e for the authorization feature

    • 12 June 2023 - ToDo app fullstack: updateing openapi and grpc schema and do TDD

  • 13

    AI in Testing

    • 15 Feb 2023 - Introduction to ChatGPT for testing

    • 11 April 2023 - AI and BDD

    • 15 May 2023 - AI-Assisted Agile Test Planning: ChatGPT and Requirements Discovery

  • 14

    Playwright Basics

    • 25 Aug 2023 - Playwright with GitHub actions

    • 01 Sept 2023 - Using Playwright with VScode 101

    • 08 Sept 2023 - Playwright from scratch - Diving into locators, assertions and fixtures

    • 23 Sept 2023 - Playwright Page Object Model

    • 29 Sept 2023 - Playwright API Testing - 101

    • 09 Sept 2023 - Playwright- Multi Elements Selector

  • 15

    TestNG

    • 5 Feb 2024 - TestNG Series - Part 1

    • 7 Feb 2024 - TestNG Series - Part 2

    • 12 Feb 2024 - TestNG Series - Part 3

    • 15 Feb 2024 - TestNG Series Part 4 - Building a framework from scratch with TestNG and Selenium

    • 19 Feb 2024 - TestNG Series - Part 5

    • 26 Feb 2024 - TestNG Series - Part 6

    • 04 Mar 2024 - TestNG Series Part 7

    • 11 March 2024 - TestNG Series Part 8 - Refactoring

    • 16 May 2024 - API-Driven Automation with the Wordle App - obtaining a JWT token

    • 23 May 2024 - More API testing with the wordle app

    • 30 May 2024 - Introduction to Version control with Git

    • 20 June 2024 - mobile browser emulation with selenium

    • 27 June 2024 - Understanding a Java project structure

    • 04 July 2024 - Understanding Maven Dependencies

    • 11 July 2024 - Handling Dependency Conflicts In Maven

    • 11 September 2024 - Introductory Java session

  • 16

    Building Test Automation Frameworks From Scratch With Selenium and JUnit 5

    • Lesson 1 - Creating a skeleton project

    • Lesson 2 - Using Simple Test Data And Basic Selenium Tests

  • 17

    Web Testing with Playwright in Java

    • 29 August 1 - Basic setup

    • 12 September 2024 - Test automation with Playwright in Java

    • 19 September 2024 - Playwright with Java

    • 26 September 2024 - Playwright -Interacting with web elements

    • 03 October 2024 - New Maven Project with Playwright

    • 11 November 2024 - Playwright with Cucumber

    • 14 November 2024 - End-to-End Playwright Tests

  • 18

    SQL

    • 16 September 2024 - SQL Fundamentals

    • 29 October 2024 - FizzBuzz Exercise and Functional Programming Concepts

    • 30 October 2024 - FizzBuzz Challenge with Enums and Functional Programming Approaches

  • 19

    Testing Springboot Applications

    • 17 October 2024 - Building a Springboot Application

    • 24 October 2024 - Outside-In-Approach and BDD Scenarios

    • 29 October 2024 - FizzBuzz Exercise and Functional Programming Concepts

    • 31 October 2024 - Spring Boot and Cucumber Integration

    • 07 November - Microservice Testing