🎯 Playwright using Python – Course Contents
Module 1: Introduction to Playwright
What is Automation Testing?
Introduction to Playwright
Key Features of Playwright
Playwright Tools & Ecosystem
Playwright vs Selenium
Why choose Python with Playwright?
Playwright Supported Languages
Module 2: Python Programming Essentials
Python Setup
Installing Python & PyCharm
Python Basics
Comments, Keywords, Variables and Data Types
Operators (Arithmetic, Logical, Comparison)
Conditional Statements (if, elif, else, match-case)
Loops (for, while, nested)
Strings & Numbers
List, Tuple, Set & Dictionary
Python Functions
Global and Local variables
Types of arguments
Python OOPS Concepts
Class & Object
Methods Vs Constructors
Static Methods
Inheritance & Polymorphism
Method Overriding Vs Method Overloading
Encapsulation & Abstraction
Modules and packages
File Handling
Exception Handling
Module 3: PyTest
PyTest introduction and setup environment
Creating Pytest tests
Working with the Fixtures
Creating re-usable Fixtures
Skipping tests
Grouping tests
Ordering tests
Parallel execution
Module 4: Playwright Automation with Python &Pytest
Getting Started
Installing Playwright
Creating Tests
Running Tests in headless/headed modes
Running tests in parallel mode and multiple browsers
CLI commands to run tests with different parameters
Understanding Playwright sync vs async APIs
Locators
Playwright Built-in locators
CSS Selectors (tag, ID, class, attributes)
XPath
UI Interactions
Click, Fill, Check, Select
Handle radio buttons, checkboxes, and dropdowns
Handle dropdowns
Working with Elements
Get text: inner_text, text_content
Count elements
Use nth(), all(), first(), last() locators
Web Tables
Handle static & dynamic tables
Extract and validate rows & columns
Filtering and pagination
Date Pickers
Handling iFrames
Handling Dialogs
Mouse Actions
Keyboard Actions
File Uploads and Downloads
Browser context
Handle multiple pages/tabs/popups
Shadow DOM Handling
Module 5: Advanced Playwright Features
Auto-Waiting & Timeouts
Screenshots & Video Capture
Tracing with Trace Viewer
Debugging Techniques
Parameterized Tests using pytest.mark.parametrize
Data-Driven Testing with JSON, CSV, Excel
Codegen for Generating Tests
Playwright Test Reports (HTML, Allure)
Module 6: Framework Design & Development
Introduction to Automation Framework
Phases of Framework Design
Project Setup and Folder Structure
Playwright Configuration (playwright.config)
Custom conftestDOTpy and Fixtures
Page Object Model (POM)
Create Page Classes
Encapsulate Actions and Selectors
Data Files: JSON, CSV & Excel
Utility Functions and Data Providers
Faker Library for Dynamic Test Data
Adding and Tagging Test Cases
Generate HTML and Allure Reports
Run Tests using pytest.ini
Command Line Execution
Module 7: CI/CD & Git Integration
Git Basics
Git Init, Commit, Push, Branch
GitHub Integration
GitHub Actions
Setup GitHub Workflow for Playwright Tests
Environment Setup
Trigger tests on push/pull
CI/CD with Jenkins
Install Jenkins & Plugins
Configure Jobs and Pipelines
Run Playwright Tests in Jenkins Pipeline
Module 8: API Testing with Playwright + Python
REST API Basics
Making API Calls with Playwright APIRequestContext
GET, POST, PUT, PATCH, DELETE Requests
Dynamic Request Body using Faker, JSON files
Path & Query Parameters
Validating Status Code, Headers, JSON Body
Chaining API Requests
Authentication Methods
Basic Auth
Bearer Token
API Key
OAuth2
Module 9: Playwright Powered by AI
Generative AI & LLMs Overview
Prompt Engineering
Understanding AI Terms
Vibe Coding
Auto Healing
GitHub Copilot for Python Automation
Using Copilot to Generate Playwright Tests
Integration of PyCharm IDE +GitHub Copilot+ Playwright MCP
Generate and Run Automation tests by using Playwright MCP (Model Context Protocol)