E2E (end-to-end) - Тест системы через настоящий пользовательский вход: браузер, frontend, HTTP, backend, база - проверка результата на публичных границах, а не внутри кода.
Locator - Живой запрос к элементу (getByRole/getByLabel/getByText/getByTestId), а не найденный DOM-узел; повторно исполняется при каждом действии и проверке.
Auto-waiting / actionability - Перед действием Playwright сам ждёт, что элемент единственный, видимый, стабильный, enabled и получает события; ожидание условия вместо фиксированной паузы.
Web-first assertion - expect(locator).toBeVisible() и подобные: повторяют наблюдение до timeout, поэтому надёжны при асинхронном UI; не sleep и не разовое чтение.
BrowserContext - Изолированный профиль браузера (свои cookies, localStorage, sessionStorage) на каждый тест; как быстрый инкогнито - основа независимости и параллельности.
storageState - Сохранённое состояние авторизации (cookies и localStorage), которое пишут один раз в setup и переиспользуют между тестами вместо повторного логина через UI.
Fixture - Типизированный lifecycle зависимости через test.extend; test-scoped создаётся на тест, worker-scoped - один раз на worker; dependency injection для тестов.
Page Object / Component Object - Предметный API страницы или компонента на языке приложения вместо свалки селекторов; маленькие composed-объекты вместо God Page Object.
APIRequestContext (request) - HTTP-клиент Playwright (fixture request) для подготовки данных и проверки API без UI: настоящий запрос к своему backend, а не мок.
route / fulfill - Перехват сети (page.route) для контроля внешней нестабильной границы через route.fulfill; собственный проверяемый API мокать нельзя.
frameLocator - Доступ к элементам внутри iframe: page.frameLocator(...).getByRole(...); shadow DOM локаторы пронизывают по умолчанию.
Trace / Trace Viewer - Запись прогона (timeline, DOM snapshots, сеть, консоль, шаги, source); в CI обычно trace: 'on-first-retry' - trace каждого успешного теста дорог.
test.step - Структурный шаг сценария: группирует действия для читаемых traces и отчётов, превращая длинный тест в понятную историю.
page.clock - Управление временем и таймерами страницы (install/setFixedTime/fastForward) для детерминизма сценариев, зависящих от часов, таймаутов и дат.
toHaveScreenshot - Visual regression: сравнение скриншота с golden-файлом; чувствителен к OS, браузеру и шрифтам, поэтому эталоны генерируют в одинаковом окружении CI.
Sharding / blob / merge-reports - Деление suite между CI-машинами (--shard); каждая пишет blob-отчёт, а merge-reports сшивает их в единый HTML-отчёт всего прогона.
Flaky test - Тест, падающий недетерминированно (данные, ожидание, сеть, гонки, время): первая попытка красная, retry зелёный. Это дефект, а не повод для слепого retry.