Playwright with Python for Web Automation Testing Visual

Create a scalable Pytest framework from scratch with Visual Testing (free), Parallel execution, Reports, CI/CD and more
Playwright with Python for Web Automation Testing Visual
File Size :
2.99 GB
Total length :
7h 19m



Symon Storozhenko


Last update




Playwright with Python for Web Automation Testing Visual

What you’ll learn

Become an expert in Playwright with Python
Super intuitive Pytest framework with parallel execution, reporting and CLI commands
CI/CD execution with proper password management and Visual Testing
Tackling different authentication and other sorts of problems

Playwright with Python for Web Automation Testing Visual


No prior knowledge required
Windows/Mac/Linux machine


Spin up your automation framework from scratch in a matter of days! It’s super fast with Python and pytest. Then comes Playwright with its nitrogen-fast browser test execution! We are going to blend Playwright capabilities into the pytest framework with the use of markers, fixtures, CLI commands.In this course we will  cover:Python basicsPlaywrightPytestproject structurepage object modelreportingparallel executioncreate our own pytest fixtures for set_up and tear_down methodsutilize existing Playwright fixturesdeploy our test to CI/CD using GitHub ActionsLearn yml syntaxStore login passwords securely as GitHub SecretsPerform Visual Testing like a proWhy Playwright?Playwright enables fast, reliable and capable testing and automation across all modern browsers.Support for all browsersTest on Chromium, Firefox and WebKit. Playwright has full API coverage for all modern browsers, including Google Chrome and Microsoft Edge (with Chromium), Apple Safari (with WebKit) and Mozilla Firefox. Test can run in headful and headless modesFast and reliable executionBy fast I mean REALLY fast!Auto-wait APIs. Playwright interactions auto-wait for elements to be ready. This improves reliability and simplifies test authoring.Fast isolation with browser contexts. Reuse a single browser instance for multiple isolated execution environments with browser contexts.Resilient element selectors. Playwright can rely on user-facing strings, like text content and accessibility labels to select elements.Multiple domains, pages and frames. Playwright is an out-of-process automation driver that is not limited by the scope of in-page JavaScript execution and can automate scenarios with multiple pages.


Section 1: Intro

Lecture 1 Important – Please watch! Course content and structure

Section 2: Environment Setup

Lecture 2 Install Python

Lecture 3 Install PyCharm IDE

Lecture 4 Create Project in PyCharm

Section 3: Course rating and improvement

Lecture 5 Course rating and improvement

Section 4: Python Fundamentals

Lecture 6 Project files

Lecture 7 First Python program

Lecture 8 Working with code comments

Lecture 9 Strings, Integers and Floats

Lecture 10 Simple math operations

Lecture 11 Variables

Lecture 12 Variable naming conventions

Lecture 13 Working with Variables

Lecture 14 f-strings

Lecture 15 User Input

Lecture 16 Data type conversion

Lecture 17 Booleans and Comparisons

Lecture 18 Conditional Statements

Lecture 19 elif statements

Lecture 20 Boolean logic

Lecture 21 Lists

Lecture 22 Tuples

Lecture 23 Dictionaries

Lecture 24 for loops

Lecture 25 while loops

Lecture 26 functions

Lecture 27 functions with arguments

Lecture 28 return from function

Lecture 29 function annotations

Section 5: Python OOP Basics

Lecture 30 Intro to classes

Lecture 31 class examples

Section 6: Python – Modules, Standard Library and pip

Lecture 32 Modules

Lecture 33 Packages

Lecture 34 Standard Python Library

Lecture 35 pip – third-party library

Section 7: Playwright Basics and Installation

Lecture 36 Why Playwright?

Lecture 37 Link to Playwright Tutorial GitHub page

Lecture 38 Install git

Lecture 39 Create a new repo and clone to PyCharm

Lecture 40 Install Playwright and beta-browsers

Lecture 41 Keep up with Playwright Releases

Section 8: Troubleshooting installation issues

Lecture 42 “playwright : The term ‘playwright’ is not recognized

Lecture 43 Browsers not installing (or re-installing)

Section 9: First Steps with Playwright

Lecture 44 Updated – Record and play a first test with Playwright

Lecture 45 Debug and create with pause()

Lecture 46 Complete our test with assertion

Lecture 47 List of all expect() assertions

Lecture 48 Tests are too fast? – Use slow_mo!

Lecture 49 Setting timeouts

Section 10: Locators – NEW! (June 2023)

Lecture 50 Notion guide pages

Lecture 51 Locators overview

Lecture 52 Text locators

Lecture 53 Find elements by index

Lecture 54 Find by XPath and CSS

Lecture 55 Chaining locators

Lecture 56 Layout selectors

Lecture 57 Layout selectors documentation

Lecture 58 Working with similar elements using all() method

Section 11: OLD – Playwright Selectors (Refer to Previous section – Locators)

Lecture 59 page.locator()

Lecture 60 Playwright locators guide

Lecture 61 Playwright inspector in Browser Dev Tools

Lecture 62 Text selectors

Lecture 63 CSS selectors

Lecture 64 :nth-match and :has-text

Lecture 65 XPath selectors

Lecture 66 Chaining selectors >>

Lecture 67 Playwright selectors summary

Section 12: Assertions

Lecture 68 expect() vs. assert

Lecture 69 Assertions Playwright docs

Section 13: Waits

Lecture 70 Wait for selector and page loads

Lecture 71 Build a custom wait

Section 14: Page Object Model and Project Structure

Lecture 72 Page Object Model

Lecture 73 POM documentation

Lecture 74 Refactor your old POM files with page.locator()

Lecture 75 Project structure

Lecture 76 POM helper methods

Section 15: Pytest Framework Basics

Lecture 77 Intro and install pytest

Lecture 78 pytest naming conventions

Lecture 79 Run first pytest test with Playwright

Lecture 80 Run pytest from PyCharm gutter

Lecture 81 Run several tests

Lecture 82 Markers – skip

Lecture 83 Markers – xfail

Lecture 84 Custom markers

Lecture 85 Useful pytest CLI commands

Lecture 86 pytest CLI commands documentation

Section 16: Reporting and Parallel Execution via CLI

Lecture 87 Install and run report

Lecture 88 Parallel run with pytest

Lecture 89 Combine pytest, reporting and parallel commands

Section 17: Pytest-Playwright fixtures and CLI commands

Lecture 90 Intro to fixtures

Lecture 91 file

Lecture 92 Create a set_up fixture

Lecture 93 page fixture

Lecture 94 headed, browsers, slowmo and device emulation CLI commands

Lecture 95 Capturing screenshots and video recordings

Lecture 96 List of all supported devices

Lecture 97 –base-url CLI command

Lecture 98 Optimize set_up fixtures

Lecture 99 Fixture scopes

Lecture 100 page fixture vs. browser fixture

Lecture 101 Add tear_down step

Section 18: Data Driven Testing

Lecture 102 Marker – parametrize

Lecture 103 Data for negative testing

Lecture 104 Stack parametrize for easier maintenance and better test data coverage

Section 19: CI/CD integration

Lecture 105 Set up GitHub Actions

Lecture 106 Edit yml file and run tests in CI/CD pipeline

Lecture 107 YML file reference link

Lecture 108 Use login password via GitHub Secrets

Lecture 109 Toggle password between local and remote runs

Lecture 110 Store passwords in .env file

Section 20: Authentication scenarios

Lecture 111 Reuse authenticated state with browser context

Lecture 112 Reuse authenticated state with storage file

Lecture 113 Importance of page.wait_for_load_state

Lecture 114 Testing a chat application with multiple users

Lecture 115 Browser Authentication

Section 21: Visual testing

Lecture 116 Generating snapshots, capturing mismatches, browsers support

Lecture 117 pytest-playwright-visual repo and documentation

Lecture 118 Masking dynamic page elements

Lecture 119 Lowering comparison strictness

Lecture 120 Full Page snapshot and fail_fast option

Automation Testers,Manual QA Analysts,Developers and BAs who want to learn or improve their automation skills

Course Information:

Udemy | English | 7h 19m | 2.99 GB
Created by: Symon Storozhenko

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top