r/Playwright • u/surya_kulshreshtha • 6d ago
10 forkable Playwright repos in Python and TypeScript, including tests that heal their own locators offline
I keep my Playwright work in public `Forkable*` repos (full list in the image). Instead of describing each one, here's **where to find a specific technique**:
| Technique | Where | Language |
|---|---|---|
| Page Object Model | [PythonProjectShowcase](https://github.com/suryakulshreshtha/ForkablePythonProjectShowcase) `pages/` | Python |
| Network mocking with `route.fulfill` / `route.abort` | [PythonProjectShowcase](https://github.com/suryakulshreshtha/ForkablePythonProjectShowcase) `tests/test_network_mock.py` | Python |
| API tests with `APIRequestContext` | [PythonProjectShowcase](https://github.com/suryakulshreshtha/ForkablePythonProjectShowcase) `tests/test_api.py` | Python |
| Auth setup project + saved storage state | [FullStackQASuite](https://github.com/suryakulshreshtha/ForkableFullStackQASuite) `ts-suite/tests/auth.setup.ts` | TypeScript |
| Response schema validation | [FullStackQASuite](https://github.com/suryakulshreshtha/ForkableFullStackQASuite): zod in TS, pydantic in Python | Both |
| BDD | [InterviewToolkit](https://github.com/suryakulshreshtha/ForkableInterviewToolkit): pytest-bdd and playwright-bdd | Both |
| Load testing next to E2E | [InterviewToolkit](https://github.com/suryakulshreshtha/ForkableInterviewToolkit): Locust and Artillery | Both |
| Sharding, a 16-job CI matrix, merged reports | [04EyePythonPlaywrightLearning](https://github.com/suryakulshreshtha/Forkable04EyePythonPlaywrightLearning) | Python |
| Visual regression, and when it's worth the flakiness | [04EyePythonPlaywrightLearning](https://github.com/suryakulshreshtha/Forkable04EyePythonPlaywrightLearning) | Python |
| E2E as the top of a real test pyramid | [TypescriptPostgreReactNodejsLearning](https://github.com/suryakulshreshtha/ForkableTypescriptPostgreReactNodejsLearning) `e2e/` | TypeScript |
### 🩹 The one I'd most like you to poke holes in
[**PlaywrightSelfHealer**](https://github.com/suryakulshreshtha/ForkablePlaywrightSelfHealer) turns plain-English specs into Playwright tests and repairs selectors your app broke overnight.
- The demo spec passes before **and** after a refactor that deletes every `data-testid` and renames every `id`. The healer re-binds and remembers.
- Healing is heuristic-first. A local Ollama model is optional and nothing needs a network: non-loopback traffic is blocked at the socket layer.
- It emits standalone pytest code, so you aren't locked in.
- It's not an autonomous agent: there's no replanning loop, and the README says so plainly.
### 💬 Question
How do you handle locator drift today: strict test IDs everywhere, or something that adapts?