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