🎯 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
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
conftest.pyand 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
-
-
CI/CD with 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
-
Module 9: Playwright Powered by AI
-
Generative AI & LLMs Overview
-
Introduction to Prompt Engineering
-
Using Copilot to Generate Playwright Tests
-
Using Copilot + Playwright MCP to generate and run tests