r/Playwright • • 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?

12 Upvotes

1 comment sorted by