References — fw-12 Testing Library, Browser Automation, and DevTools
Primary sources first. Read the real implementation after you have written yours, never before.
Testing Library
- dom-testing-library source — read
queries/androle-helpers.js; the accessibility-tree-first query design is the whole idea - Guiding principles — "the more your tests resemble the way your software is used…"
user-event— whyfireEventis not enough. This matters more than it looks: fe-01 (sibling project) measured that synthetic dispatch does not interleave microtasks between listeners the way real input does, and fe-04 (sibling project) measured that setting.valuenever triggerstooShort. A synthetic harness has different semantics from production.aria-query— the role/attribute data behindgetByRole
Browser automation
- Chrome DevTools Protocol — every measurement in the
fe-*track is built directly on this. Domains worth knowing:Runtime,Performance,HeapProfiler,Accessibility,Emulation,Input. - Playwright — read
packages/playwright-core/src/server/for how a trusted-input abstraction is built over CDP - WebDriver BiDi — the standards-track successor; worth tracking
- Puppeteer — a thinner CDP wrapper, easier to read for protocol mechanics
DevTools itself
- DevTools frontend source — it is a web application, and you can debug it with itself
- Contributing to DevTools
- Extending DevTools — custom panels via extension APIs
Related modules
- fe-01 … fe-06
src/(sibling project) — 22 working examples of CDP-driven measurement - bi-12 — Debugging & tracing — the same protocol from the browser-internals side
- fe-32/fe-33 — UI and E2E testing (planned)
When a claim here proves stale, record it in PROGRESS.md section 7.