End-to-End Testing with Playwright

4 Days

javajavascripttypescriptc#python
testingAutomation

Intermediate

testerdeveloper

This workshop coaches participants on how to automate end-to-end web testing using Playwright, which is widely used browser automation tool-set.
With least presumption on participant’s knowledge, Workshop commences with key concepts succinctly and then moves to Playwright usage as a tool for test automation for web applications. The course covers testing of static and dynamic website with html, http, ajax and more. Playwright api is covered in very complete detail including tools like Codegen, Inspector, Trace viewer, Third party tools, and introduction to distributed testing. Highlight of this workshop is extensive hands-on and demos.

Audience

Participants must be developers or software savvy testers who aspire to use Playwright to efficiently conduct their business.

Prerequisites

Participant must be able to code (beginner level) in core Java/C#/Python/Javascript/Typescript/any other OO language with corresponding standard library.

Topics
Introduction
  • Web and HTTP
  • Browsers and Servers
  • HTML, CSS and JavaScript
  • Browser Developer Tools
  • Cookies, Cache, Headers
  • DOM Tree and Web flow
  • Ajax Vs Non-ajax
  • Brush up on language
    • Key Classes and/or Methods for language
    • Asynchronous code
  • Debugging
  • Manual Testing
  • Coded Tests and Benefits
  • Usage of Unit Testing Framework
  • AAAC structure
  • Annotations
  • Assertions
  • Command Line
Playwright
  • Architecture
  • Tool set and extensions
  • Configuration
  • Emulation
  • Fixtures
  • API by Examples
  • First project and anatomy
  • First test
  • Running test
    • Headless and with UI
    • Specific or all browser(s)
    • Specific or all test(s)
    • Parallel
  • Locating Elements
    • Role, label, placeholder, text, alt text, title, various id
    • CSS, XPath, React, Vue
    • Filtering
    • Operators
    • Handling lists
  • Verifying page elements
  • Getting state of DOM
    • Text, attributes, subtree
  • Manipulating Elements
  • Handling mouse, keyboard
More
  • Debugging
    • Tracing
    • Using dev tools
    • Using debugger
    • Using inspector
  • Reporting
  • Matching Text using RegEx
  • Waiting
  • Forms and Tables
  • File upload and download
  • Handing alerts
  • Windows, Frames, Dialogs
  • Browser Window
  • Viewports
  • Hooks
  • Events
  • Parameterization
  • Data Driven Tests
    • Hard-coded
    • Csv
    • Other
  • Keyword (Table) Driven Tests
  • Guidelines for Skeleton framework
  • Page Objects
  • Test Cases Guidelines
More
  • Custom assertions
  • Record and playback
  • More configuration
  • Geolocation
  • Localization
  • Retries
  • Sharding
  • Timeout
  • Handling server
  • Authentication
  • Handling Cookies
  • Session and local storage
  • Injecting javascript
  • Taking screenshots
  • Taking partial screenshots
  • Isolation
  • Mocking
  • Visual testing
  • Accessibility testing
  • Continuous integration
  • Api testing
  • Best practices
  • Extending Playwright
  • Intro to Cucumber and Gherkin
Exclusions

SDLC, Advanced protocol details, Advanced distributed testing, Advanced language
Anything not mentioned in Topics1

Software Requirements

Visual Studio Code
Node with npm and yarn
Modern browser(s) like Chrome, Edge, Firefox

Internet Requirements

Good unrestricted internet connection is required.

Hardware Requirements

Laptop capable to run MS Office

Classroom Requirements

Projector with HDMI, White Board, Markers with Eraser

Online Requirements

Appropriate meeting software e.g. Zoom, MS Teams
Please make sure that camera, speaker and mic are working

Footnotes

  1. If you have any query, please drop us a line.