Сквозной тест открывает приложение в браузере и проходит сценарий как пользователь. Он ловит то, что не видно в изоляции: сломанную маршрутизацию, несовместимость с API, ошибки сборки.
test("оформление заказа", async ({ page }) => {
await page.goto("/catalog");
await page.getByRole("button", { name: "В корзину" }).first().click();
await page.getByRole("link", { name: "Корзина" }).click();
await expect(page.getByText("Итого")).toBeVisible();
});
Что важно знать
- E2E медленные и хрупкие — только ключевые сценарии.
- Ждать состояний, а не секунд: автоматические ожидания Playwright вместо
sleep. - Стабильные тестовые данные и изоляция тестов друг от друга.
- Запуск в нескольких браузерах, трассировка и видео упавших тестов в CI.
- Нестабильные тесты чинят сразу — иначе им перестают доверять.