Call browser.newContext() twice inside one test to create two isolated contexts, each with its own cookies, localStorage, and session state
Open a page in each context and authenticate each as a different user, storing credentials only within that context
Perform actions in both pages — for example, user A sends a message and user B receives it — asserting against both pages in the same test
Close both contexts explicitly at the end of the test to release resources; Playwright does not auto-close manually created contexts
For worker-level reuse, create shared contexts in a fixture with scope: 'worker' so the same authenticated pair is shared across tests in a worker
Known gotchas
Contexts are fully isolated: cookies, localStorage, service workers, and cache do not leak between them even inside one browser process
Manually created contexts are not torn down automatically by Playwright's test runner — always close them or use a fixture with an explicit cleanup step
page.waitForEvent and assertions across two pages must be orchestrated carefully; await both sides in the right order to avoid race conditions
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp