🎯 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
-
Python vs JavaScript/TypeScript for Automation
-
Why choose Python with Playwright?
-
Playwright Architecture Overview
-
Playwright Supported Languages
Module 2: Python Programming Essentials
-
Python Setup
-
Installing Python & VS Code
-
Setting up Virtual Environment
-
Installing Playwright & pytest
-
-
Python Basics
-
Variables and Data Types
-
Operators (Arithmetic, Logical, Comparison)
-
Conditional Statements (if, elif, else)
-
Loops (for, while, nested)
-
Functions (def, arguments, return types)
-
Lambda and Higher-Order Functions
-
-
Data Structures
-
Lists, Tuples, Sets, Dictionaries
-
List/Dict Comprehensions
-
Common Methods:
append
,pop
,filter
,map
,reduce
-
-
Working with Files
-
Reading from JSON, CSV, and Excel
-
Writing data into files
-
-
Object-Oriented Python
-
Classes & Objects
-
Constructors
-
Instance, Static & Class Methods
-
Inheritance & Access Control
-
Method Overriding
-
-
Working with Modules & Packages
-
Exception Handling
Module 3: Playwright Automation with Python
-
Getting Started
-
Installing Playwright with Python
-
Creating First Test Script
-
Project Structure Overview
-
Running Tests (headless/headed)
-
Understanding Async Playwright (sync vs async APIs)
-
Playwright pytest plugin
-
-
Locators
-
text, role, label, placeholder
-
locator()
method -
CSS Selectors (tag, ID, class, attributes)
-
XPath basics and axis handling
-
-
UI Interactions
-
Click, Fill, Check, Select
-
Handle radio buttons, checkboxes, and dropdowns
-
Typing and pressing keys
-
Hover, double-click, drag & drop
-
Scrolling and visibility
-
-
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 Alerts, Prompts, and Dialogs
-
File Uploads and Downloads
-
Shadow DOM Handling
-
Multiple Windows & Tabs
-
Contexts and Browser Sessions
Module 4: Advanced Playwright Features
-
Auto-Waiting & Timeouts
-
Assertions (sync and async assertions with
expect
) -
Screenshots & Video Capture
-
Tracing with Trace Viewer
-
Debugging Techniques
-
Codegen for Generating Tests
-
Hooks:
setup
,teardown
,before_all
,after_each
, etc. -
Test Tagging and Annotations (
skip
,only
,xfail
, etc.) -
Parallel & Serial Test Execution
-
Parameterized Tests using
pytest.mark.parametrize
-
Data-Driven Testing with JSON, CSV, Excel
-
Playwright Test Reports (HTML, Allure)
-
Visual Comparison Testing
-
Accessibility Testing using
axe-playwright-python
Module 5: Framework Design & Development
-
Introduction to Automation Framework
-
Phases of Framework Design
-
Project Setup and Folder Structure
-
Playwright Configuration (
playwright.config
) -
Custom
conftest.py
and Fixtures -
Page Object Model (POM)
-
Create Page Classes
-
Encapsulate Actions and Selectors
-
-
Data Files: JSON, CSV
-
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
ortox
-
Command Line Execution
Module 6: CI/CD & Git Integration
-
Git Basics
-
Git Init, Commit, Push, Branch
-
GitHub Integration
-
-
CI/CD with GitHub Actions
-
Setup GitHub Workflow for Playwright Tests
-
Environment Setup and Dependency Caching
-
Trigger tests on push/pull
-
-
CI/CD with Jenkins
-
Install Jenkins & Plugins
-
Configure Jobs and Pipelines
-
Run Playwright Tests in Jenkins Pipeline
-
Module 7: 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
-
Module 8: Playwright Powered by AI (Bonus)
-
Generative AI & LLMs Overview
-
Introduction to Prompt Engineering
-
GitHub Copilot for Python Automation
-
Using Copilot to Generate Playwright Tests
-
Introduction to Playwright + MCP (Model Context Protocol)
-
Creating Test Scenarios with AI
-
Copilot + Playwright integration for API and Web Tests
-
Managing Tests with VSCode Extensions