E2E (end-to-end) - A test of the system through a real user entry point: browser, frontend, HTTP, backend, database - checking the result at public boundaries, not inside the code.
Locator - A live query for an element (getByRole/getByLabel/getByText/getByTestId), not a found DOM node; re-executed on every action and assertion.
Auto-waiting / actionability - Before an action Playwright itself waits for the element to be single, visible, stable, enabled and receiving events; waiting for a condition instead of a fixed pause.
Web-first assertion - expect(locator).toBeVisible() and the like: they retry the observation until timeout, so they are reliable with async UI; not a sleep and not a one-off read.
BrowserContext - An isolated browser profile (its own cookies, localStorage, sessionStorage) per test; like a fast incognito - the basis of independence and parallelism.
storageState - Saved authentication state (cookies and localStorage) written once in setup and reused between tests instead of logging in again through the UI.
Fixture - A typed dependency lifecycle via test.extend; test-scoped is created per test, worker-scoped once per worker; dependency injection for tests.
Page Object / Component Object - A domain API of a page or component in the application's language instead of a dump of selectors; small composed objects instead of a God Page Object.
Project - A named run configuration: browser, device, locale/timezone, storageState, dependencies (for example an auth setup project before the main one).
APIRequestContext (request) - Playwright's HTTP client (the request fixture) to prepare data and check the API without the UI: a real request to your backend, not a mock.
route / fulfill - Network interception (page.route) to control an external unstable boundary via route.fulfill; your own tested API must not be mocked.
frameLocator - Access to elements inside an iframe: page.frameLocator(...).getByRole(...); shadow DOM locators pierce it by default.
Trace / Trace Viewer - A recording of the run (timeline, DOM snapshots, network, console, steps, source); in CI usually trace: 'on-first-retry' - a trace of every passing test is expensive.
- A structural step of a scenario: it groups actions for readable traces and reports, turning a long test into a clear story.
test.step
page.clock - Control of the page's time and timers (install/setFixedTime/fastForward) for determinism in scenarios that depend on the clock, timeouts and dates.
toHaveScreenshot - Visual regression: comparing a screenshot with a golden file; sensitive to OS, browser and fonts, so references are generated in an identical CI environment.
Sharding / blob / merge-reports - Splitting the suite across CI machines (--shard); each writes a blob report, and merge-reports stitches them into a single HTML report of the whole run.
Flaky test - A test that fails non-deterministically (data, waiting, network, races, time): the first attempt red, the retry green. It is a defect, not a reason to blindly retry.