Course Highlights
  • Setting up your local development environment.
  • Build and run our own locally running react application.
  • Creating our first automation test with cucumber, playwright and typescript.
  • Executing your automation test on your locally running application.
  • Deep dive into our first test and understand tagging, regex, step linking, cucumber params, element locators, developer tools and hooks.
  • Developing our understanding of Browser, Context and Page.
  • Adding your own unique element identifiers to the application code to enable more automation scenarios.
  • Setting up our automation framework to produce screenshots on test failure.
  • Implement Cucumber World to enable us to pass global variable and configuration within each scenarios separated context.
  • Leverage ENV files for better environment variable management.
  • Implement dynamic test configuration to provide more flexibility when running our cucumber scenarios.
  • Defining our element, page and host mappings in page specific .json files.
  • Introduce our own custom waitFor() function to add stability to our automation framework.
  • Adding a common ENV file to house all our common configuration across our automation framework.
  • Setup cucumber html reporter to report on our test suite results.
  • Reuse our waitFor to help stabilise and validate page has loaded before moving onto the next step.
  • Use the amazing debugging tools that Playwright provides, like Playwright Inspector.
  • Advanced chrome developer tool learnings like console logs and break points.
  • Automating Links, Buttons and Elements at specific index.
  • Automating Tables and asserting on an exact match between our Cucumber DataTable and the UI.
  • Automating Switches, Cards & Avatars.
  • Automating Drop Down Menus and Select Boxes.
  • Adding the ability to refresh our page during an automation test.
  • Automating Browser Alerts, Page Alerts and Tooltips.
  • Automating Text Areas and Hidden & Visible Text.
  • Automating stored values and expected values.
  • Preparing our automation suite for production Automation Suite Runs.
  • Running our automation on a production environment.
  • Storing login details in environment specific ENV files.
  • Leverage Example Tables from Cucumber to run scenarios on specific environments.
  • Emulate devices for our automation suite to run on leveraging Playwright Devices.
  • Introduce the ability to customise our console logs for errors, logs and debug and off.
  • Adding the ability to customise our automation failure errors.
  • Develop our own waitForSelector function that better integrated with our waitFor function.
  • Refactor our assertion and interaction steps for better stability and consistency.
  • Leverage random data in our automation suite form steps.
  • Demonstrate how quickly automation can be added with our world class automation framework.
  • Tagging our suite for @smoke and @regression in preparation for CI.
  • Learn to intercept responses with playwright and mock out our own custom responses.
  • Implement an accessibility automation testing suite across our react application.
  • Produce detailed accessibility improvement reports as well as fix some issues ourselves.
  • Pushing our project containing our automation framework & Suite to GitHub.
  • Setting up our local machine as a build agent in preparation to run our automation tests in CI.
  • Get our automation tests running on pull request and in CI (Continuous Integration)
  • Postman - Collections - Requests and Responses (GET, PUT, POST, PATCH, DELETE)
  • API Automation Test with Playwright and JavaScript (Learn Playwrights API capabilities)
  • Build a Cucumber, Playwright and TypeScript API Automation Framework
  • Develop and grow your understanding of TypeScript across the entirety of the course.
  • Implement Advanced Object Orientated Design Patterns and Separation of Concerns.
Curriculum

2 Topics
Introduction
Why does building a robust automation framework matter

9 Topics
Getting started with Node.js
Setting up your development environment
Setting up your development environment - VSCode
Cloning Repositories on GitHub & Starting your locally running React application
Setting up your first automation framework - part 1
Setting up your first automation framework - part 2
Setting up your first automation framework - part 3
Key Learnings
Module 2 Quiz

7 Topics
Running your automation test in IntelliJ using an NPM configuration
Cucumber Scenario @tags - @dev @smoke & @regression
Understanding regex step linking and passing parameters via Cucumber steps
Working with element locators - Find and Update - Working with Developer Tools
Understanding hooks and why 'test context' matters
Key Learnings
Module 3 Quiz

12 Topics
Adding screenshots on test failure and test video recordings
Introducing Cucumber World - Seperate Context Cucumber Scenarios - Part 1
Introducing Cucumber World - Seperate Context Cucumber Scenarios - Part 2
Introducing Cucumber World - Seperate Context Cucumber Scenarios - Part 3
Dynamic test configuration - A more flexible cucumber.js - part 1
Dynamic test configuration - A more flexible cucumber.js - part 2
ENV files for better environment variable management
Cucumber reporter and our first Dynamic Test Runner Script
Windows users (REQUIRED) - Adding your run_tests.bat to run your automation
Running your automation suite with npm instead of yarn
Key Learnings
Module 4 Quiz

12 Topics
Creating Mappings for Host URLS and Page ROUTES - part 1
Creating Mappings for Host URLS and Page ROUTES - part 2
Creating Mappings for Host URLS and Page ROUTES - part 3
Creating Element Mappings and using Global Variables to pass page - part 1
Creating Element Mappings and using Global Variables to pass page - part 2
Creating Element Mappings and using Global Variables to pass page - part 3
Creating Element Mappings and using Global Variables to pass page - part 4
Introducing our custom waitFor() function - Removing playwright@test - part 1
Introducing our custom waitFor() function - Removing playwright@test - part 2
Introducing our custom waitFor() function - Removing playwright@test - part 3
Key Learnings
Module 5 Quiz

10 Topics
Matching our Page URL to our expected route Regex
Determining our pageId by matching our page URL to our page Regex - part 1
Determining our pageId by matching our page URL to our page Regex - part 2
Determining our pageId by matching our page URL to our page Regex - part 3
Determining our pageId by matching our page URL to our page Regex - part 4
Introducing Form Steps - Our first end to end test - part 1
Introducing Form Steps - Our first end to end test - part 2
Introducing Form Steps - Our first end to end test - part 3
Key Learnings
Module 6 Quiz

7 Topics
Playwright Inspector - Stepping into our automation test
Unlocking the benefits of Chrome Developer Tools - part 1
Unlocking the benefits of Chrome Developer Tools - part 2
Console logs Breakpoints and Test Reports - part 1
Console logs Breakpoints and Test Reports - part 2
Key Learnings
Module 7 Quiz

11 Topics
Automation Test Radio Buttons - Check and Uncheck - part 1
Automation Test Radio Buttons - Check and Uncheck - part 2
Introducing Negate to reduce duplication of step definitions - part 1
Introducing Negate to reduce duplication of step definitions - part 2
Automation test AutoComplete inputs Input values and form validation - part 1
Automation test AutoComplete inputs Input values and form validation - part 2
Automation test AutoComplete inputs Input values and form validation - part 3
Automation test AutoComplete inputs Input values and form validation - part 4
Running our automation suite in parallel & Introducing test retry
Key Learnings
Module 8 Quiz

13 Topics
Automation test Checkboxes (Check and Uncheck) - part 1
Automation test Checkboxes (Check and Uncheck) - part 2
Automating IFrames - Switching Frames mid test - part 1
Automating IFrames - Switching Frames mid test - part 2
Automating IFrames - Switching Frames mid test - part 3
Automating IFrames - Switching Frames mid test - part 4
Automating New Tabs and Windows - part 1
Automating New Tabs and Windows - part 2
Automating New Tabs and Windows - part 3
Automating New Tabs and Windows - part 4
Automating New Tabs and Windows - part 5
Key Learnings
Module 9 Quiz

10 Topics
Automating Links Buttons and Clicking element at Index - part 1
Automating Links Buttons and Clicking element at Index - part 2
Automating Links Buttons and Clicking element at Index - part 3
Automating Links Buttons and Clicking element at Index - part 4
Automating Tables - Matching our HTML table to Cucumber Data Table - part 1
Automating Tables - Matching our HTML table to Cucumber Data Table - part 2
Automating Tables - Matching our HTML table to Cucumber Data Table - part 3
Automating Switches - low code / no code
Key Learnings
Module 10 Quiz

10 Topics
Automating Browser Alerts Page Alerts and Tooltips - part 1
Automating Browser Alerts Page Alerts and Tooltips - part 2
Automating Browser Alerts Page Alerts and Tooltips - part 3
Automating Browser Alerts Page Alerts and Tooltips - part 4
Automating text areas & Hidden and Visible text
Asserting on stored values and expected values in our automation - part 1
Asserting on stored values and expected values in our automation - part 2
Asserting on stored values and expected values in our automation - part 3
Key Learnings
Module 11 Quiz

9 Topics
Automating Cards and Avatars - Verify Element count - Part 1
Automating Cards and Avatars - Verify Element count - Part 2
Automating Cards and Avatars - Verify Element count - Part 3
Automating Drop Down menus and Select Boxes - part 1
Automating Drop Down menus and Select Boxes - part 2
Refreshing our page mid test - Leveraging our URL assertion - part 1
Refreshing our page mid test - Leveraging our URL assertion - part 2
Key Learnings
Module 12 Quiz

13 Topics
Running our automation suite on a production environment - part 1
Running our automation suite on a production environment - part 2
Windows users (REQUIRED) - Updating your run_tests.bat to run your automation
Preparing our automation suite to run on production (Stabilization) - part 1
Preparing our automation suite to run on production (Stabilization) - part 2
Preparing our automation suite to run on production (Stabilization) - part 3
Preparing our automation suite to run on production (Stabilization) - part 4
Preparing our automation suite to run on production (Stabilization) - part 5
Storing login details in our Environment Specific ENV files - part 1
Storing login details in our Environment Specific ENV files - part 2
Storing login details in our Environment Specific ENV files - part 3
Key Learnings
Module 13 Quiz

11 Topics
Cucumber Example Tables to run test scenarios on a specific environment - part 1
Cucumber Example Tables to run test scenarios on a specific environment - part 2
Cucumber Example Tables to run test scenarios on a specific environment - part 3
Introducing Device Emulation with Playwright - part 1
Introducing Device Emulation with Playwright - part 2
Customising and improving our console logs - part 1
Customising and improving our console logs - part 2
Customising and improving our console logs - part 3
Customising and improving our console logs - part 4
Key Learnings
Module 14 Quiz

5 Topics
Creating our own waitFor enabled waitForSelector function leveraging playwright
Preparing our step definitions for better failure errors - part 1
Preparing our step definitions for better failure errors - part 2
Key Learnings
Module 15 Quiz

10 Topics
Refactoring and improving our assertion step definitions - part 1
Refactoring and improving our assertion step definitions - part 2
Refactoring and improving our assertion step definitions - part 3
Refactoring and improving our assertion step definitions - part 4
Refactoring and improving our assertion step definitions - part 5
Refactoring and improving our assertion step definitions - part 6
Code clean up and consistency improvements - part 1
Code clean up and consistency improvements - part 2
Key Learnings
Module 16 Quiz

6 Topics
Mapping automation friendly errors messages to replace native errors - part 1
Mapping automation friendly errors messages to replace native errors - part 2
Mapping automation friendly errors messages to replace native errors - part 3
Mapping automation friendly errors messages to replace native errors - part 4
Mapping automation friendly errors messages to replace native errors - part 5
Module 17 (section 1) Quiz

11 Topics
Introducing waitForResult to handle our assertion error cases - part 1
Introducing waitForResult to handle our assertion error cases - part 2
Introducing waitForResult to handle our assertion error cases - part 3
Introducing waitForResult to handle our assertion error cases - part 4
Introducing waitForResult to handle our assertion error cases - part 5
Introducing waitForResult to handle our assertion error cases - part 6
Introducing waitForResult to handle our interaction error cases
Validating our new automation test failure errors - part 1
Validating our new automation test failure errors - part 2
Key Learnings
Module 17 (Section 2) Quiz

8 Topics
Populate form fields with random test data during our automation test - part 1
Populate form fields with random test data during our automation test - part 2
Building our an end to end automation suite for our contacts app - part 1
Building our an end to end automation suite for our contacts app - part 2
Building our an end to end automation suite for our contacts app - part 3
Tagging our automation suite in preparation for (CI) Continuous Integration
Key Learnings
Section 18 Quiz

7 Topics
Adding the ability to intercept responses during automation tests - part 1
Adding the ability to intercept responses during automation tests - part 2
Adding the ability to intercept responses during automation tests - part 3
Building our a suite of automation tests that leverage mocking - part 1
Building our a suite of automation tests that leverage mocking - part 2
Key Learnings
Module 19 Quiz

7 Topics
Integrating AXE engine into our automation framework - part 1
Integrating AXE engine into our automation framework - part 2
Integrating AXE engine into our automation framework - part 3
Analysing Understanding and Fixing some Accessibility issues - part 1
Analysing Understanding and Fixing some Accessibility issues - part 2
Key Learnings
Module 20 Quiz

17 Topics
Pushing our project code to a private GitHub Repository
Buildkite - Turning our machine into a build agent
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 1
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 2
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 3
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 4
Reviewing our automation suite on pull request in GitHub
Key Learnings
Module 21 Quiz
Getting Ready! Setting up our postman collection - part 1
Getting Ready! Setting up our postman collection - part 2
Creating our playwright API automation folder structure
Automating GET POST PUT PATCH and DELETE with Playwright - part 1
Automating GET POST PUT PATCH and DELETE with Playwright - part 2
Automating GET POST PUT PATCH and DELETE with Playwright - part 3
Key Learnings
Module 22 Quiz

1 Topic
Conclusion

2 Topics
Promotion
Introduction

5 Topics
Getting started with node.js
Setting up your development environment - Intellij
Setting up your development environment - VSCODE
Key Learnings
Quiz time!

10 Topics
Planning our API automation coverage using Postman - part 1
Planning our API automation coverage using Postman - part 2
Planning our API automation coverage using Postman - part 3
Creating our API end-to-end automation project structure and e2e folder
GET POST PUT PATCH and DELETE with Playwright and JavaScript - part 1
GET POST PUT PATCH and DELETE with Playwright and JavaScript - part 2
GET POST PUT PATCH and DELETE with Playwright and JavaScript - part 3
GET POST PUT PATCH and DELETE with Playwright and JavaScript - part 4
Key Learnings
Quiz time!

8 Topics
Running our first cucumber automation test
Introducing Cucumber World - part 1
Introducing Cucumber World - part 2
Passing our API response to cucumber steps with Cucumber World - part 1
Passing our API response to cucumber steps with Cucumber World - part 2
Introducing Lintrc to ensure code quality in our automation framework
Key Learnings
Quiz time!

7 Topics
Customise the cucumber-js on runtime - part 1
Customise the cucumber-js on runtime - part 2
Environment files for better environment variable management
Introducing global configuration - Reusable getResponse function - part 1
Introducing global configuration - Reusable getResponse function - part 2
Key Learnings
Quiz time!

6 Topics
Adding more GET automation tests to our suite - part 1
Adding more GET automation tests to our suite - part 2
Introducing the cucumber html reporter - Adding Parallel and Retry capabilities
Adding our first automation test for DELETE
Key Learnings
Quiz time!

8 Topics
Creating posts with POST - part 1
Creating posts with POST - part 2
Editing posts with PATCH
Updating posts with PUT
Validating our json payload exists
Asserting on response text errors
Key Learnings
Quiz time!

1 Topic
Conclusion

  Write a Review

Cucumber Playwright TypeScript Automation Framework

Go to Paid Course