🧪 Test Hub
testing: Demo target v3.0.0 · built-in demo site
Duplicating DEMO-T14 -- give the copy a new id, then Create.

New test

Metadata saved to the .json sidecar next to the test file

Turn video off for tests that mostly wait. The video file grows with wall-clock time whenever the page repaints — a 30-minute wait on a page with a clock or progress bar costs about 80 MB and shows almost nothing. The activity replay still captures those runs, and stays small.


Groups

Weekly schedules are managed on the Schedules page.

Playwright code an @playwright/test spec — test('...', async ({ page }) => ...)

page.goto('./') — baseURL is the target URL from config.json · await test.step('label', ...) shows in Step timings · process.env.PW_SECRET_NAME reads a hub secret · expect(...) to assert.
Editor: Ctrl-F search · Ctrl-/ comment.

“Record in a browser tab” opens the Remote Recorder: the hub drives its own bundled Chromium and you interact with a live picture of it — so it works on a deployed hub (AWS/office) and from a locked-down workstation browser. Everything finishes IN that tab: stopping offers “create a new test”, which brings you back here with the code filled in. If your browser blocks the pop-up (Safari), use the “Record new test” button on the Tests page instead — it opens in this same tab.
Saving writes the test file (.py or .spec.ts) and its .json sidecar — the folder stays the source of truth.