I wasted a weekend on WSL2 browser automation so you don’t have to
If you want browser automation on Windows that actually survives contact with reality, treat WSL2 networking as the first problem. Not Playwright. Not…
Tech news from the best sources
If you want browser automation on Windows that actually survives contact with reality, treat WSL2 networking as the first problem. Not Playwright. Not…
AI coding agents like Claude Code are changing how SDETs approach browser automation. Instead of writing every locator and assertion by hand, you can …
I have a teammate who never sleeps, never gets bored, and spends every hour poking at our app trying to break it. It is an agent. Every hour it opens …
Over the past few months I've been using Claude Code heavily with Playwright and Figma. At first everything worked well, but after longer sessions I s…
The issue was not the tools. It was opening five of them before deciding what the log file was for. The log file was already on the screen. A remote W…
AI has made test automation more exciting. It has also made it easier to fool ourselves. A generated test can look impressive in a demo. A self-healin…
How to Automate WhatsApp with Python in 2026 Every WhatsApp automation tutorial still recommends selenium with fragile XPath selectors that break ever…
AI is changing software testing. But probably not in the way many QA engineers think. AI is not simply going to replace Selenium scripts, Playwright t…
We’ve all been there. You get a notification from your smartwatch saying your heart rate has been a bit funky, or your blood oxygen is dipping. Usuall…
There is a particular kind of confidence that only a green CI pipeline can produce. The pull request is open. Unit tests pass. Browser tests pass. The…
Most browser test suites do not fail because the team forgot how to write a click step. They fail because the system around the tests becomes more com…
I've spent the last few years helping engineering teams with test automation, and one thing I've noticed is that email workflows are still surprisingl…
A Playwright task can pass locally and still fail in a team run. It may open the wrong persistent profile, use the wrong proxy region, assume a sessio…
Most guides to OTP testing in Playwright include a function that looks something like this: function extractOtp ( emailBody : string ): string { const…
It's summer in San Francisco, which means that every week I forget to enter the lottery for the free Stern Grove Music Festival . Solution? I did what…
Magic links are becoming the default authentication pattern for modern SaaS apps. Passwordless login, email verification, password resets — they all r…
We sell authentication, which makes our scariest question a simple one: when a customer wires their app to us and switches everything on, does it actu…
The Playwright Playbook — Part 8: Playwright Meets AI — Agents, MCP & Self-Healing Tests "AI doesn't replace QA engineers. It gives them superpowe…
The Playwright Playbook — Part 7: The CI/CD Setup Nobody Shows You "A test suite that only runs on your laptop isn't a test suite. It's a hobby." Six …
You have ISTQB Foundation. ISTQB Advanced. Certified ScrumMaster. A cloud cert. A security testing cert. Maybe a Python for Testers badge from a platf…
The Playwright Playbook — Part 6: Debugging Like a Pro — Trace Viewer, Inspector & VS Code "A failing test at 2am in CI tells you what broke. Trac…
Password reset is one of the most critical flows in any application. It's also one of the most commonly untested. The reason is always the same — the …
The Playwright Playbook — Part 4: API Testing — The Underrated Superpower "The best UI test is one that doesn't need the UI at all." In Part 1, we bui…
agent-browser or mare-browser? Here's how I actually choose. If you're building web apps with an AI agent, you hit the same wall pretty fast: the mode…
The Playwright Playbook — Part 3: Multi-User, Multi-Tab & Browser Context Testing "Most frameworks test one user at a time. Real apps don't work t…
When you integrate SendPigeon into your app, you get three stages of email testing. Each stage solves a different problem. This guide walks through al…
TL;DR Web components encapsulate UI and data inside Shadow DOMs, hiding it from standard parsers like BeautifulSoup and document.querySelector . To ex…
The Playwright Playbook — Part 2: Network Interception — The Complete Guide "Your tests should own the network — not be at its mercy." In Part 1, we f…
Every developer who has written a Playwright test for OTP verification has written this line: const otp = email . body . match ( / \b\d{6}\b / )?.[ 0 …
Overview Today's focus was on automating article publishing to CSDN and WeChat MP (微信公众号) using Playwright, after CSDN deprecated its public Open API.…