Playwright

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Playwright Course Outline

Day 1: Course Introduction & Setup

● Pre-requisites
○ Node.js installation
○ VSCode IDE setup
○ Package Manager (npm or yarn)
● VS Code IDE
○ Usage of VS Code
○ Installing VS Code plugins
○ VS Code shortcuts

Day 2: Introduction to TypeScript

● Introduction to TypeScript
○ What is TypeScript?
○ Why TypeScript over JavaScript?
● Basic TypeScript Features
○ How to define Types
○ Primitive Data Types
○ Functions & Expressions

Day 3: TypeScript Advanced Features

● Data Structures
○ Arrays
○ Tuples
○ Union Types
● TypeScript Extras
○ Special Types
○ Casting
○ Object Types

Day 4: TypeScript OOP & Modules

● Classes and Inheritance


○ How to create and use Classes
○ Inheritance and method overriding
● Modules and Enums
○ ECMAScript modules
○ TypeScript Modules
○ Enums
Day 5: TypeScript String Methods & Playwright Setup

● String Methods in TypeScript


○ String manipulation and methods
● Playwright Installation
○ How to install Playwright
○ Running the example test
○ How to open the HTML test report

Day 6: Locator Strategies in Playwright

● Locator Strategy in Playwright


○ How to handle DOM objects
○ XPath and CSS custom locators
○ Using Chrome extensions (SelectorsHub, TruePath)

Day 7: Getting Started with Playwright

● Basic Playwright Testing


○ Writing the first test
○ How to perform actions (click, type, etc.)
○ Assertions in Playwright
○ Test hooks and isolation

Day 8: Running and Debugging Tests

● Run Tests
○ Running tests from the command line
○ Debugging tests
○ Using HTML test reporter
● Test Generator
○ How to generate tests with Codegen

Day 9: Playwright Locators & Actions

● Locators
○ Locating elements by text, accessibility attributes, placeholders, etc.
● Actions
○ Interacting with elements (text inputs, checkboxes, radio buttons, etc.)
○ Mouse clicks, typing characters, shortcuts, file uploads

Day 10: Advanced Playwright Testing

● Frames
○ How to handle iframes in Playwright
● Annotations & Assertions
○ Test annotations (skip, focus, tag tests)
○ Defining assertions using Playwright's expect library

Day 11: Playwright Trace Viewer & Command-line Usage

● Trace Viewer
○ How to record and view traces
○ Opening the HTML report
● Command-line
○ Running tests using the command-line

Day 12: Configuration, Parallelism, and Sharding

● Config
○ Global vs. local configuration
● Parallelism & Sharding
○ Managing parallel worker processes
○ Limiting worker threads

Day 13: Reporters and Conclusion

● Reporters
○ Configuring multiple reports
○ Built-in Playwright reports

Advance Playwright Framework:

Day 14: Retry Mechanism & Timeouts

● Retry Mechanism
○ How to configure retries for flaky tests
● Timeouts
○ Setting global timeouts
○ Setting local timeouts
○ Auto-waiting in Playwright

Day 15: Framework Design 1 – Components

● Framework Design using Page Object Model (POM)


○ Page Object Model design patterns
○ Stateless functions
○ Data-Driven Testing using JSON (fixtures)
○ ES6 Classes
○ Spec file execution
Day 16: Framework Design 2 – Facade Design Pattern

● Framework Design using Facade Pattern


○ Page Object Model design patterns
○ Facade Design Pattern using ES6 Classes (getters)
○ Data-Driven Testing using JSON/Excel files
○ Custom Commands
○ Spec file execution

Day 17: Framework Design 3 – Custom Commands

● Advanced Framework Design


○ ES6 Tags & labels
○ Custom Commands
○ ES6 text labels
○ Data-Driven Testing (env files for credentials)
○ Spec file invoking

Day 18: Framework Design 4 – Generic Functions

● Generic Functions & Tags


○ ES6 Tags & labels
○ Generic Functions
○ Data-Driven Testing
○ Spec file invoking

Day 19: Framework Design 5 – BDD with Cucumber

● BDD Framework with Cucumber


○ Installation and setup
○ Configuration for Cypress
○ Organizing tests (single vs bundled feature files)
○ Writing step definitions (Given/When/Then)

Day 20: Cucumber BDD – Test Writing

● Writing Tests in BDD Framework


○ Cucumber Expressions
○ Using Data Table Parameters
○ Custom Parameter Type Resolvers
○ Using Before/After hooks
○ Sharing context
○ Smart tagging

Day 21: Cucumber BDD – Running & Managing Tests

● Running and Managing Tests


○ Running tagged tests
○ Ignoring scenarios with tags
○ Output generation and analysis

Day 22: API Testing with Playwright

● API Testing Fundamentals


○ Writing API tests
○ Configuration for API tests
○ Setup and teardown
● API Testing Features
○ Sending API requests from UI tests
○ Establishing preconditions and validating postconditions
○ Reusing authentication state
○ Context request vs global request

Day 23: Git Source Control Versioning

● Git Essentials
○ Git Repositories and Commits
○ Git Merge, Pull, and Push commands
○ Git branching strategy
○ SourceTree tool usage
● Advanced Git Commands
○ Handling complex merges and conflict resolution

Day 24: CI/CD Integration

● Continuous Integration and Continuous Deployment


○ Docker usage for containerization
○ CI pipeline integration for Playwright
○ Selenium Grid configuration for parallel testing

Day 25: Interactive Hands-On Sessions

● Interactive Labs
○ Hands-on-lab for Playwright framework implementation
○ Writing real-time examples and executing them
● Live Projects
○ Practicing live project scenarios

Day 26: Documentation & Project Support

● Playwright Documentation
○ Exploring Playwright official documentation
○ Typescript materials for reference
● Support and Guidance
○ Interview questions and guidance
○ Test consultation and project support (terms apply)
● Additional Deliverables
○ Lifetime access to recordings
○ Post-training support for projects (terms apply)
● Course Conclusion
○ Review key concepts
○ Final Q&A and project wrap-up
○ Interview Guidance
○ Interview Questions
○ Materials
○ Recordings
○ Source-code repo etc.,

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy