
Learn to automate web tests with Playwright and Python using Pytest, covering cross-browser automation (Chromium, Firefox, WebKit), auto waiting, smart selectors, and reliable test isolation via context.
Learn to create and run Python pytest tests in VS Code by structuring test folders, naming tests with test prefixes or suffixes, a simple assertion, and using play or run-at-cursor.
Write and run pytest tests in Python, using assertions and VS Code or command-line execution; back up dependencies with pip freeze to a requirements.txt for reproducible environments.
Install pytest and playwright in your Python project with pip, then run playwright install to fetch the required browsers, using a virtual environment in VS code.
Learn to set up Playwright with Pytest, write your first test using the page fixture, navigate to a page, and assert the title in headless and headed modes.
Learn to write Playwright tests with pytest by navigating to playwright.dev, locating the get started link with get_by_role, and verifying the installation heading is visible.
Execute playwright tests with pytest from the terminal, running in headless or headed mode. Use page.wait_for_timeout and expect assertions to control waits and verify outcomes.
Explore how Playwright manages browsers and isolated contexts to enable parallel, multi-user testing with independent cookies and storage, plus reusable authenticated sessions and edit mode for debugging.
Learn to write pytest tests with Playwright to create multiple browser contexts, navigate pages like python.org and pytest.org, and compare storage states.
Explore built-in Playwright fixtures from the Pytest plugin, such as page and context, with function and session scopes. See how these fixtures simplify setup and support parallel test execution.
Explore the built-in pytest-playwright context fixture to open multiple pages in the same browser, create new pages, and manage storage while navigating bing.com and python.org.
Explore selectors and locators in Playwright by using HTML pages for automation in VS Code, with live preview, localhost access, and demos of alerts, dialogues, tables, and a login page.
Set up a local http server with python to serve html pages from the html underscore pages folder for automation. Access index.html via localhost:8080 in your automation scripts.
Learn how selectors and locators in Playwright identify and interact with web elements, using get by role and page.locator with CSS or XPath, including auto weighting and auto retrying.
Playwright Locators are a powerful way to find and interact with elements on a webpage. Unlike traditional selectors, locators are smart — they automatically wait for elements to be ready, handle dynamic changes, and provide clear.
Learn about different locators in playwright- get_by_role(), get_by_text() etc
Learn to locate and interact with web elements in Playwright using built-in locators like get by label, placeholder, text, and role, then validate results with assertions.
Locate by CSS or XPath allows you to target elements using familiar selector strategies, making it flexible for complex DOM structures.
With page.locator(), Playwright creates a smart locator that auto-waits for elements to be ready and supports reliable actions like click() or fill(), reducing flaky tests.
CSS selectors in Playwright let you locate elements using familiar web styling rules like classes, IDs, or attributes. They’re fast, readable, and ideal for most test scenarios, making them the go-to choice for reliable element targeting.
They allow automation tools like Playwright to interact with elements by referencing IDs, classes, attributes, or tag names, making them fast, readable, and reliable for test scripts.
Demo with using page.locator() with CSS
Learn how to use different CSS selectors with Playwright.
Also attached css selectors cheat sheet.
XPath in Playwright lets you locate elements using XML-style path expressions, which are especially useful when CSS selectors aren’t enough. XPath can target elements based on hierarchy, attributes, or text content, making it powerful for complex or deeply nested DOM structures.
Demo using page.locator() with Xpath.
Attached xpath selectors cheat sheet.
Review core Playwright with Python concepts, including installation, VS Code setup, pytest configuration, and browser context, then explore selectors and locator methods like fill, click, and count.
Master Playwright assertions that validate behavior with the built-in expect library, auto waiting for conditions, and apply global or per-assertion timeouts across page, locator, and API response levels.
Explore page level assertions with Playwright and Pytest by testing the page title and URL, and using get by role to click a link on a sample index page.
Learn how Playwright's auto waiting handles locator methods and assertions, adjust default and per-action timeouts, and test page loading performance using a slow-load HTML scenario.
Configure global auto wait settings in Playwright tests by using page.set_default_timeout and page.set_default_navigation_timeout, and expect.set_options for a global expect timeout across tests.
Explore Playwright’s auto waiting mechanisms for actions and assertions, including default timeouts and how to configure global and page level timeouts, ensuring reliable tests.
Explore how Playwright handles pages and tabs within a browser context, creating multiple pages, sharing session data, and interacting with new tabs and popups.
Learn to handle alerts and dialogues in Playwright by attaching a page.on('dialog', callback) listener and using dialog.accept or dialog.dismiss for alerts, confirms, prompts, and auto dismissal by default.
Demonstrate handling show prompt dialogs in Playwright Python tests by providing input, asserting prompt output, and using a single page.on listener to manage alerts and verify results.
Learn to build a generic dialogue handler for playwright tests, managing alert, confirm, and prompt pop-ups with a dedicated function and a lambda wrapper for prompts.
demonstrates how to perform file upload and download testing with Playwright, using set_input_files, a CSS locator for the file input, and assertions on the upload output.
Learn to handle file downloads in Playwright with Python by using page.expect_download, triggering downloads via a button, and saving the file with the browser's suggested name to a chosen path.
Hi! Welcome to Python Automation Testing With Playwright and Pytest!
This course will help you master automation testing with Playwright. Playwright is a modern automation framework built by Microsoft that enables fast, reliable end-to-end testing across all major browsers.
It provides a single API that works with Chromium, Firefox, and WebKit, making it truly cross-browser and cross-platform.
Playwright supports multiple programming languages, including Python, JavaScript, TypeScript, .NET, and Java, which makes it accessible to a wide range of developers.
One of its standout features is auto-waiting, where Playwright intelligently waits for elements to be ready before interacting with them, reducing flaky tests caused by timing issues.
With its ability to run tests headless or headed, locally or in CI/CD pipelines, Playwright has quickly become a favorite among QA engineers and developers for building scalable and resilient test suites
Python Automation Testing With Playwright and Pytest is designed for beginners who want to step confidently into the world of modern web automation. This course introduces you to Playwright, a powerful browser automation framework, and shows you how to integrate it seamlessly with Pytest, one of Python’s most popular testing tools.
You’ll start with the basics — setting up your environment, writing your first test, and understanding how Playwright interacts with browsers. Step by step, you’ll learn how to handle real-world scenarios such as multiple tabs, popups, file uploads, and dynamic elements. Along the way, Pytest will help you structure your tests, manage fixtures, and generate clear reports.
By the end of the course, you’ll be able to:
Setting up and running Pytest and Playwright in you local IDE environment
Write reliable end-to-end tests for modern web applications
Use CSS and XPath selectors effectively to target elements
Handle multiple browser contexts and sessions
Apply best practices for scalable and maintainable test suites
This course is perfect for students, QA engineers, and developers who want to build a strong foundation in automation testing without prior experience.
Thank you and see you in this course!!!