HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
microsoft
playwright
TypeScript2020–2026
microsoft / playwright

playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

41Distinct people
52Mentions
0Explicit recommenders
100KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year52 dated mentions

Observed mentions: 2020-01-22 03:12:53 UTC to 2026-07-16 20:43:34 UTC.

051015202020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 20 mentions; 5 submissions, 15 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 9 mentions; 1 submissions, 8 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 9 mentions; 2 submissions, 7 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC20515
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC918
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC523
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC927
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

What Hacker News says

52 sources
Hey Pavel, this is Namu, the creator of Browser MCP. You’re right, this is an adaptation of Playwright MCP to automate the user’s local browser as mentioned in the GitHub README and here: - https://github.com/BrowserMCP/mcp/blob/3e6824de6f36eba7d2d3b... - https://news.ycombinator.com/item?id=43613905 Thanks for all your work to Playwright and Playwright MCP. I’m a big fan! (For those not familiar, Pavel is the largest contributor to both Playwright and Playwright MCP: https://github.com/microsoft/playwright/graphs/contributors, https://github.com/microsoft/playwright-mcp/graphs/contribut...)
In Show HN: Browser MCP – Automate your browser using Cursor, Claude, VS Code
Rundoc is very interesting. Great work! I believe there are two ways to do what you want. 1. Use the VSCode extension APIs and the built-in commands[1] to write an extension that unit tests your tutorials For example, you could use vscode.executeCodeActionProvider which will return the actions that VSCode suggests at a specific point in the file. For the shortcuts, I think the only option would be to read user's keybindings.json file directly. This is the easiest way I think and may be enough but generally speaking, VSCode's APIs are very restrictive and may not give you everything you need. 2. VSCode being an Electron app can be run from Playwright (similar to Selenium) which should give you full control to drive and inspect it. I haven't done this myself but apparently Playwright is used internally to test VSCode as well. So it should b
Read the rest
In CodeMic: A new way to talk about code
SeleniumBase modifies the webdriver so that it doesn't get detected when used alongside the CDP stealth mode and methods. It'll download chromedriver for you. Not sure what you mean by the multiple branches, as there's just the primary one. What 1000-line methods are you referring to? By "flags", do you mean the different command-line options available? As for Playwright, they aren't undetected: See https://github.com/microsoft/playwright/issues/23884#issueco... - "Playwright is an end-to-end testing framework, where we expect you test on your own environments. Bypassing any form of bot protection is not something we can act on. Thanks for your understanding." On the contrary, SeleniumBase is OK with bypassing bot detection: https://github.com/seleniumbase/SeleniumBase/blob/master/exa...
In SeleniumBase: Python APIs for web automation and bypassing bot-detection
nissy-dev·Oct 10, 2024Submission

Show HN: Tenbin – minimize the differences in test execution times across shards

A typical test runner implements a sharding feature that splits tests to run on different machines. However, the sharding algorithm often randomly splits tests, leading to uneven execution times across shards. Tenbin provides tools to minimize the differences in execution time across shards. It uses the execution times of past test run when splitting tests. For example: shard default use tenbin 1/3 3min 4min 2/3 5min 4min 3/3 4min 4min The optimization of the sharding algorithm is considered in E2E testing tools where test execution time is a more critical issue. In Playwright, this is being discussed in https://github.com/microsoft/playwright/issues/17969.
1 points · Open discussion
I'm not convinced. It looks like v0.10.0 contains ~half of Google's Puppeteer code and even in the latest release[0]the core package references Google's copyright several hundred times. Conceptually, the core, the bridge between a node server and the injected Chrome DevTools Protocol scripts are the same. Looks like Playwright started as a fork and evolved as a wrapper that eventually included APIs for Python and Java around Puppeteer. At the core there is a ton of code still used from Puppeteer. [0] https://github.com/microsoft/playwright/tree/48627ad48405583...
In Puppeteer Support for Firefox
That is a huge oversimplification, if I ever saw one. If you look at the early commits, you can see that it isn't just a simple fork. For starters, the initial commit[1] is already using Typescript. As far as I am aware puppeteer is not and is written in vanilla JavaScript. The license notice you mention is indeed there [2], but also isn't surprising they wouldn't reinvent the wheel for those things they wrote earlier and that simply work. Even if they didn't directly use code, Microsoft would be silly to not add it given their previous involvement with puppeteer. Even if it was originally a fork, they are such different products at this point that at best you could say that playwright started out as a fork (Which, again, it did not as far as I can tell). [1] https://github.com/microsoft/playwright/commit/9ba375c063448... [2] https://gith
Read the rest
In Puppeteer Support for Firefox
Author here. Can you show an example of how Playwright would progress a timer on a page? For example, how would you make this component pass faster than 60 seconds? export const Countdown = () => { const [time, setTime] = React.useState(60); React.useEffect(() => { const interval = setInterval(() => { setTime(t => t - 1); if (t === 1) clearInterval(interval); }, 1000); return () => clearInterval(interval) }, []); return time > 0 ? <>Time left {time}</> : <>Done</> }; Short of using Playwright Component Tests, this isn't possible. I also found an issue where the only solution was to inject sinon into the page which I wouldn't consider a great option: https://github.com/microsoft/playwright/issues/10230
In SafeTest: A novel approach to front end testing

Showing the 15 most recent of 52 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.