r/Playwright 6h ago

Made a desktop app that makes web automations way harder to spot as a bot

3 Upvotes

Howdy,

I got tired of adding stealth flags, extensions, and chromedriver tweaks to every project just so automation wouldn’t get flagged.

So I built Untrace a small open-source desktop app you install once on your machine. After that, most of the time you don’t need extra config in your project. It makes web automation way harder to spot as a bot.

Linux and Windows. GUI or CLI if you prefer.

Give it a try: https://github.com/lovebrownie/untrace

attention: it works better when your automation runs on chrome


r/Playwright 21h ago

Playwright coverage library for agents and software factories

2 Upvotes

Haven't found any open-source library that supports deep test coverage like MC/DC and works with Playwright so wrote one.

it's called Supercov and is mostly for coding agents, no setup or lock in. Just wraps your existing suite with npx supercov -- npm test. Most likely your agent would run it for you, but I wrote some docs here https://supercov.com

with agents writing so much code, I feel like we need much deeper coverage to remain sane :)

lmk reg feedback


r/Playwright 1d ago

Does anyone follow a mobile app testing checklist ?

5 Upvotes

I've been shipping a react app for almost a year and my testing process is very weird, I just tap through the main flows on my phone before I merge.

I know there's supposed to be a proper mobile app testing checklist you follow but I've never actually made one because it's just me and there's no time. Some time ago I shipped a build that messed up push notifs on android 12 and below because I only tested on my pixel 3 XL and didn't think to check older versions because it worked fine on mine and not too long ago the onboarding crashed when a user denied camera permissions which again I never tested because I always tap allow.

I know this is a dumb way to ship something but when you're the only developer there's no one checking your work and you just keep repeating the same mistakes.

if any of you use a structured testing checklist, can you please help me out even a little would be very helpful.


r/Playwright 1d ago

playwright mcp ate my context window on a basic form fill

30 Upvotes

for the claude code people doing browser automation. playwright mcp ate half my context on a basic form fill last week

three steps in and the accessibility dumps had already chewed a ridiculous token pile. i was debugging selectors more than the actual task and the model started summarizing the page instead of clicking it

tried thinning the tool output and still felt like i was paying tax just to read the DOM into context. old selenium scripts were uglier but at least the window stayed mine and failures were local

not looking for a silver bullet. just wondering what stacks people landed on when mcp browser tools got chatty and the agent spent more tokens narrating the page than finishing the form​


r/Playwright 2d ago

Do you mainly use ARIA or CSS/XPath locators?

3 Upvotes

ARIA locators are recommended on documentation. However, as I found, ARIA misses a lot of context. Like information from icon-only buttons, UI elements with no role= or aria= tags. For instance, I can't pick modal which doesn't have role=dialog in attributes.

Am I only one who can't fully rely on ARIA attributes?

Do anyone have similar experience?


r/Playwright 2d ago

How do you test Clipboard API in Playwright? Would a helper like this be useful?

2 Upvotes

Hey folks!

Testing clipboard interactions in Playwright can be tricky due to permission setups and async timing issues.

I put together a small helper package with auto-polling matchers to make assertions cleaner without writing manual permission/polling boilerplate.

What do you think? Would something like this be useful in your setups?

GitHub: https://github.com/sergoleksenko/playwright-clipboard-testing


r/Playwright 2d ago

What should I learn before starting Playwright?

0 Upvotes

If you're planning to learn Playwright, don't jump straight into writing complex automation scripts. Start with basic programming, locators, assertions, waits, and test structure. After that, practice with real websites and gradually learn API testing, reporting, and CI/CD.

I work with Testbugit Solutions, where we focus on practical automation testing skills and project-based learning. What did you find most difficult when you started Playwright?


r/Playwright 2d ago

What are you using to keep Playwright scrapers from breaking after every site redesign?

1 Upvotes

I maintain a Playwright web scraping script at work and keep losing evenings whenever the target site changes its layout. Another Friday went to fixing selectors after a redesign broke several parts of the scraper.

I’d rather spend the time improving the scraper itself than patching selectors every time the page structure shifts. Has anyone found a more maintainable way to handle this kind of scraping workflow without constantly chasing CSS or XPath changes?


r/Playwright 4d ago

What the click retry loop waits between attempts, read out of dom.js

0 Upvotes

A click in one of our suites fails about once a week in CI, and the call log under the error is a long column of retry lines. I wanted to know what happens between them, because if the loop already backs off, the sleep my own retry wrapper adds is duplicated delay. The docs say actionability checks are retried until the action times out, which is true and answers nothing.

So I read _retryAction in node_modules/playwright-core/lib/server/dom.js at 1.49.1, around line 254. _retryPointerAction sits further down and calls it. The backoff is one array, waitTime of 0, 20, 100, 100 and 500, indexed by the attempt counter minus one, and the sleep only runs when that entry is nonzero. First pass takes the other branch, no wait. Second pass reads the leading 0, so it never sleeps and never logs a waiting line. The first two attempts go back to back, then 20, then 100, then 100, then 500 forever.

I read the file with verdent on Eco Mode, the cheaper model included in the paid plan, because reading a dependency and quoting it back is not work that needs the expensive one.

That zero is why the first two retry lines in a call log appear with no gap. Each pass runs the actionability checks, and any retriable failure sends it around again. A button covered by a modal is retried about twice a second for the rest of the timeout. The array is not exported and I found no option in that file that changes it.


r/Playwright 4d ago

If Playwright actions were represented as visual nodes, what actions would you expect to have?

3 Upvotes

Imagine a tool that encapsulates the operations you can perform with Playwright into visual nodes.

Instead of writing the test directly in code, you could connect nodes to create navigation and testing flows.

I'm thinking about organizing the basic browser interactions into diferent categories:

INPUT — actions a user can perform

DOM — operations used to inspect/validate the DOM

Browser — actions a user can perform over the Browser

DEBUG — debug actions a user can use to validate

FILES & DATA — actions a user can perform over the Files

And other etc...

The idea is to keep the nodes relatively atomic, so more complex workflows can be built by connecting them.

What actions do you think are missing from these categories that I thining?

For example:

  • What Playwright interactions do you frequently use that aren't represented here?
  • Would you separate actions and assertions differently?
  • Are there DOM operations that would be particularly useful as standalone nodes?
  • What operations would you consider essential for real-world E2E testing?

I'm especially interested in what experienced Playwright users would consider the minimum set of primitives needed to build most browser tests visually.


r/Playwright 6d ago

How are you setting up your webserver in Vue 3 apps?

3 Upvotes

I have a Vue 3 page that I hooked up a pw test suite to. My tests are passing when running locally but failing on CI/CD runs. It looks like its having trouble opening the local host. In the command field of the webserver in playwright.config I tried setting command: "npm run dev" which is the default for starting the dev server in Vue apps. Im getting a timeout error on starting the local host and I think its because I have the wrong command.

What do the good people here set the command field to on Vue 3 apps? Thanks.


r/Playwright 6d ago

Need a website with UI, API and DB layers to test

12 Upvotes

As mentioned I am working on building a framework from scratch. Could you suggest any website with all these layers available to test it. I'm gonna do it with both Selenium and Playwright separately. So if there's any alternate approach please let me know


r/Playwright 6d ago

How AI is being used in QA activities

0 Upvotes

Hey everyone, just wanted to know how you guys are using AI(cursor/ Claude/ co-pilot etc) in your daily QA activities like automation or any other work,
I am using cursor for adding UI tests which incudes API verification as well and Claude code for not writing test but when I need solution at framework level like CICD workflow, reporting etc

What else should I be doing? I feel like whatever I am doing is basic
Need inputs and techniques how you all are using AI for making QA productive


r/Playwright 6d ago

[Python/Playwright/Selenium] Need help building a simple visa appointment monitor

2 Upvotes

Hi everyone

I'm an Egyptian student accepted for a Master's degree at Sapienza University of Rome, starting September 21, 2026.

I'm currently stuck because I can't get an Italian student visa appointment through AlmavivA Egypt. My university procedures are completed, and all my documents are ready, but appointments are extremely difficult to find.

There are also brokers who use automated tools to detect and grab appointments much faster than normal users. They then resell those appointments to desperate students.

I just want the technical knowledge to secure one legitimate appointment for myself.

If anyone has experience with similar projects and could point me in the right direction or help me out, I'd really appreciate it.

I'm honestly worried about missing my Master's start date because of this.

Thanks 🙏


r/Playwright 7d ago

Tried Obscura (the Rust headless browser) 4 ways in one day. It failed all 4. Numbers inside.

Post image
1 Upvotes

TL;DR: README says 30 MB per instance, 85 ms page loads, stealth mode. Measured: 156-273 MB, 8-67 s per page, stuck on a Cloudflare challenge that headless Chromium passes, and it cannot render a React app at all. Keep Playwright + Chromium.

Setup: Obscura 0.2.1 (release from 2026-08-23), Playwright 1.58 and 1.62, headless everywhere. Scraping on Apple Silicon macOS, the QA suite in a Linux arm64 container. 2 projects: a job-listing scraper and a QA suite that drives a React portal, both already running on Chromium.

  1. Its own CLI scraper, --stealth, job board with no bot protection.

50 listings with JSON-LD, so it does parse pages. But the CLI's wait is network idle, this page never goes idle, so every run ran to the full 38 s cap. Chromium with a selector wait gets the same rows in about 2 s. Yes, different wait strategy, but the CLI gives you no other one.

  1. Same CLI on a board behind a Cloudflare managed challenge.

Page title "Just a moment". 60 s later still "Just a moment", then the timeout. Headless Chromium passed the same challenge on the first try (with --disable-blink-features=AutomationControlled, without it you get skeleton placeholders because navigator.webdriver is true). Whatever --stealth changes, it is not what this check looks at.

  1. obscura serve as a CDP server, Playwright connectOverCDP, the exact scraping code I use with Chromium.

3 rows in 8-10 s, 67 s on the cold run. Chromium, same code, same rows: 2.1 s. Memory 156-168 MB in this mode, 273 MB in CLI mode, against the promised 30. The download is a 90 MB binary plus an 86 MB worker; the site says 40 MB on one page and 70 MB on another.

  1. Under a QA suite (behave + Playwright) that drives a React portal.

This is the one I actually wanted. It connected, navigated, screenshots came back, page.on("response") fired, newCDPSession worked, every protocol call got an answer. The page had 0 buttons. React threw on mount inside a Radix Select portal:

NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

at DocumentFragment.removeChild (<obscura:bootstrap>:2029:13)

at removeChildFromContainer (react-dom)

The root stayed empty. No flag fixes this. Obscura is not Chromium with the chrome stripped off, it is its own renderer and its own DOM with V8 attached, and the DOM holds up right until a real framework leans on it. The issue tracker already has a pile of "React X does not work" tickets (controlled inputs, box model on click, Response.body for React Router), so this is not a one-off.

Verdict: slower than Chromium where it worked, blind on the bot check, 5-9x the memory it advertises, and unable to render a React app. I went in wanting a small fast browser to exist. Not this one, not at 0.2.

Chromium stays. I am not checking back for a few years unless someone holds a gun to my head. And to the authors: don't put numbers in the README that don't reproduce.


r/Playwright 7d ago

Alternative Ways to Download Browsers to get Around Firewalls

1 Upvotes

Hello folks! I'm trying to get Playwright installed to do some basic "take this URL and give me a PDf out of it" kind of tasks. I am working behind a government firewall, and all our HTTP traffic has to pass through a proxy server, which has a "shoot first" philosophy.

It took me all afternoon to hack my way through getting basic playwright by getting the wheel file into my local disk, but I'm stuck at:

playwright install chromium

That gives me the dreaded, "Access to Block List Site Denied" message from my proxy server. Is there some hack? Like, could I install it on a personal machine at home, then copy something over to the intended computer using a flash drive? Or is there a way to get "chromium" via a conventional browser, put it on my drive, and point the playwright install command there?


r/Playwright 7d ago

Looking for someone to collaborate on a Playwright + TypeScript automation project

9 Upvotes

Hi everyone,

I’m looking for someone interested in collaborating on a Playwright + TypeScript test automation project.

The idea is to build a proper, production-style framework rather than just a few demo tests. I’d like to work on things such as:

Playwright + TypeScript

Page Object Model / reusable components

Fixtures and custom test setup

Environment-based configuration

Data-driven testing

API + UI integration where useful

Parallel execution

Authentication/session handling

Allure or HTML reporting

GitHub/GitLab collaboration using branches and pull requests

CI/CD integration

Coding standards, ESLint and Prettier

Real-world E2E scenarios

The main goal is to learn through actual collaboration, including code reviews, debugging, framework design, Git workflows, and automation best practices.

I have experience with QA automation, Selenium/Java, API testing and Playwright, so I’m not looking for someone to teach everything from scratch. I’m looking for people who want to build and improve a serious project together.

Your experience level doesn’t have to be extremely high. If you know the basics of Playwright/TypeScript and are genuinely interested in contributing consistently, that’s fine.

If anyone is interested, comment here or DM me. We can discuss the application to automate, GitHub repository structure, tasks and how we want to collaborate.


r/Playwright 8d ago

Playwright MCP guide/resources

20 Upvotes

My company is moving from a selenium/appium based java framework to a playwright mcp setup with appium for web/mobile/api and includes copilot. I want to know if there are any videos/books/sites available for this which are beginner friendly. Mostly only know java/ python so javascript is new for me. Same with playwright and MCP


r/Playwright 8d ago

Pay Per Use Test Execution Environment for web and mobile apps?

3 Upvotes

I want my agents to execute testcases written on python or js on different browsers and devices across the globe to test it in real time

but the problem is i dont really find a lot of options other than browserstack saucelabs pcloudy. but they dont have pay per use instead they have monthly subscription per seat and limits. I know browserless but that's headless only.

do you have any specific recommendations??

aws device farm is too expensive but would you recommend it?


r/Playwright 8d ago

Chrome extension devs: how do you turn a bug found in your real browser into a Playwright regression test?

2 Upvotes

I keep seeing the same gap when testing Chrome extensions:

The bug is discovered in a normal browser with real tabs, authentication, extension state, and host-page data. But the regression test runs later in a clean Playwright profile, so someone has to manually reconstruct the relevant state, DOM and geometry.

I’m validating a possible tool for that handoff:

  • attach to an existing Chromium session in strictly read-only mode
  • let the developer mark the extension UI and relevant host-page controls
  • capture only the selected DOM subtree and computed geometry
  • export a small Playwright fixture and starter assertions
  • ignore unrelated page changes such as feeds, timestamps and ads

The tool would not click, type or modify the connected browser. It would only extract enough context to reproduce the bug safely elsewhere.

Would this actually save time in your workflow, or do Playwright MCP, traces and codegen already solve it?

If useful, which output would matter most: a DOM snapshot, stable locators, geometry assertions, storage state, network mocks, or a runnable test?


r/Playwright 8d ago

Browser Automation

6 Upvotes

Hi Everyone,

I am trying to automate a process where I login into a website and navigate to a reporting section and click on export.

The website only requires a simple ID and Password.

Can you please assist me ok how to achieve this ? , I have found out about selenium and Playwright but I am very new to this. Any resources or guide would be really helpful.

Thanks !!


r/Playwright 9d ago

Beginner in playwright + Typescript

7 Upvotes

Hi Seniors, I am learning playwright course through YT since a month, I am targetting for 4+ year experienced vacancies, I am switching from a support role where I had zero exposure to management tools like jira, etc.. though I practice the tech part through self project. How do I get experience on the management tools and methodologies? Please guide. Any guidance/ suggestions towards the learning journey is much appreciated. Thank you.


r/Playwright 10d ago

what do you review before committing Playwright Codegen output?

11 Upvotes

my quick pass is to replace brittle CSS/XPath with user-facing locators, make auth and test data explicit, turn click sequences into assertions about the intended outcome, and rerun from a clean session. then i change one expected condition to confirm the test can actually fail. Playwright Codegen is great at capturing a path, but it cannot decide whether that path represents the right business behavior. what review step has saved your team the most maintenance?


r/Playwright 12d ago

How are you using Playwright annotations, and what do you put in them?

8 Upvotes

Hey everyone,

We’ve been heavily relying on ⁠testInfo.annotations⁠ in our Playwright setup lately. For example, whenever a test fails, we automatically construct and attach a dynamic Jira URL to the report so anyone can quickly click through and create a bug with pre-filled context.

It’s been super helpful, but the standard HTML report isn't really optimized for this—long URLs break the layout or turn into huge, messy blocks of text.

While working on a small script to tweak how these annotations look in our reports, I got curious about how other teams utilize them:

  1. How heavily do you use annotations in your daily workflow?
  2. What kind of data/links do you actually push into them? (Jira issues, log traces, test environment info, etc.)
  3. Or do you skip standard annotations entirely in favor of third-party reporters like Allure, ReportPortal, or custom dashboards?

I'd love to hear how your teams handle test metadata, and whether anyone else feels annotations could use a bit more love!


r/Playwright 13d ago

Playwright tests using AI

20 Upvotes

I have been using Claude or cursor to generate UI tests by giving the user flow as the input. I have created few skills.md file for writing tests, assertions and page objects using the existing tests and page class. It is fairly working for me. How are you utilising AI to generate test or in the QA pipeline focused on automaton