Playwright architecture, selector reliability, and advanced interaction patterns.

Deep Dive Topics

Page 1 of 6

Simulating HTML5 Drag and Drop in Playwright

Simulating HTML5 Drag and Drop in Playwright Drag-and-drop looks like a single gesture to a user, but to the browser it is a sequence of pointer and dragstart / dragover / drop ev...

Automating File Downloads and Verifying Contents

Automating File Downloads and Verifying Contents A test that clicks "Export CSV" and stops there proves nothing — the button might trigger an empty file, the wrong columns, or a s...

Handling Multiple File Uploads in Playwright

Handling Multiple File Uploads in Playwright A file input that accepts several files at once is one of the easiest controls to automate badly. The native OS picker cannot be drive...

Uploading Files to Hidden Input Elements

Uploading Files to Hidden Input Elements Almost every design system hides its <input type="file"> . The native control cannot be styled, so teams set display: none , opacity: 0 , ...

Automating Multi-Step Forms with Playwright

Automating Multi-Step Forms with Playwright A multi-step form wizard packs every hard synchronization problem into one workflow. Each step unmounts and remounts a container, navig...

Automating Rich Text Editors

Automating Rich Text Editors A rich text editor is the one form control where fill() is usually the wrong tool. A <textarea> has a value; an editor built on ProseMirror, Quill, Le...

Handling Dropdowns, Checkboxes, and Radio Buttons

Handling Dropdowns, Checkboxes, and Radio Buttons Form controls split into two worlds: native HTML elements the browser renders itself, and custom widgets built from <div> s and A...

Intercepting and Modifying Network Requests

Intercepting and Modifying Network Requests Mocking replaces a response wholesale, but many tests need the real server's data with a small change applied in flight: an auth header...

Mocking API Responses with Playwright

Mocking API Responses with Playwright End-to-end tests that hit a live backend inherit every weakness of that backend: variable latency, shifting seed data, rate limits, and outag...

Recording and Replaying HAR Files

Recording and Replaying HAR Files Hand-writing a stub for every endpoint a page touches stops scaling the moment a screen makes forty requests across six services. An HTTP Archive...