Блок 1: Инициализация и управление проектом.
- [ ] **Playwright Test Runner**: Базовый инструмент. Убедитесь, что используете последнюю стабильную версию. Инициализируйте проект через `npm init playwright@latest`. Этот скрипт настроит конфигурацию, установит браузеры и создаст примеры тестов.
- [ ] **Playwright CLI**: Мощная командная строка для управления браузерами (`playwright install`), генерации кода (`playwright codegen`), создания снимков (`playwright screenshot`) и PDF. Используйте `codegen` для быстрого прототипирования тестов и изучения селекторов.
- [ ] **Docker-образы Playwright**: Для запуска тестов в изолированных CI-средах. Официальные образы (`mcr.microsoft.com/playwright`) содержат все необходимые зависимости. Чек-лист CI-настройки должен включать их использование.
- [ ] **IDE-расширения**: Официальное расширение для VS Code «Playwright Test for VS Code». Оно обеспечивает подсветку синтаксиса, навигацию, запуск и отладку тестов прямо из редактора, встроенный просмотр трассировки.
- [ ] **Playwright Inspector**: Запускается автоматически при использовании `--debug` флага или через `codegen`. Позволяет пошагово выполнять тест, просматривать DOM, консоль и сетевые запросы. Незаменим для отладки.
- [ ] **Трассировка (Trace Viewer)**: Включается в конфигурации (`trace: ‘on’` или `‘retain-on-failure’`). После прогона теста создается ZIP-файл трассировки, который можно открыть в специальном viewer (`playwright show-trace`). Это «машина времени» для теста: показывает скриншоты, DOM-снимки, сетевые запросы, консольные логи для каждого действия. Must-have для анализа падающих тестов в CI.
- [ ] **Конфигурационный файл `playwright.config.ts`**: Центр управления. Проверьте настройки: `projects` для определения разных окружений (Chrome, Firefox, Safari, мобильные эмуляции), `workers` для контроля уровня параллелизма, `baseURL`, `timeouts`.
- [ ] **Playwright Test Reuse**: Инструменты для повторного использования состояния аутентификации (`storageState`). Сохраняйте контекст логина в файл и подгружайте его в тесты, чтобы избежать повторных логинов и ускорить прогон.
- [ ] **Шардинг (Sharding)**: Для очень больших наборов тестов в CI. Используйте встроенную поддержку шардинга через `--shard=x/y` для распределения тестов между несколькими машинами (нодами).
- [ ] **Встроенные Assertions библиотеки `@playwright/test`**: Убедитесь, что используете современный, асинхронный синтаксис `expect(locator).toBeVisible()` вместо устаревшего `expect(await locator.isVisible()).toBe(true)`.
- [ ] **Снимки (Snapshots)**: Инструмент для визуального и скриншотного тестирования. `expect(page).toHaveScreenshot()` и `expect(locator).toHaveScreenshot()`. Настройте порог (`threshold`) для игнорирования незначительных различий. Храните эталонные снимки в репозитории.
- [ ] **Встроенные репортеры**: HTML (`‘html’`), листинг (`‘list’`), точечный (`‘dot’`), JUnit (`‘junit’`), JSON. Активируйте HTML-репортер для локальных прогонов — он дает наглядную, интерактивную страницу с результатами.
- [ ] **Playwright Report Portal / Third-party интеграции**: Для enterprise-решений рассмотрите интеграцию со специализированными системами (ReportPortal, Allure). Для облачных решений есть официальная **Playwright Cloud** (ранее Microsoft Playwright Testing) с детализированной аналитикой и историей запусков.
- [ ] **GitHub Actions / CI-интеграции**: Используйте официальное действие `@playwright/test` для GitHub Actions. Оно автоматически устанавливает зависимости, браузеры и публикует HTML-отчет и артефакты трассировки как результат работы workflow.
- [ ] **`playwright-extra` и стелс-плагины**: Для продвинутых сценариев, например, обхода обнаружения автоматизации.
- [ ] **Сторонние библиотеки для API-тестирования**: Хотя Playwright отлично работает с сетевыми запросами, для сложных API-тестов можно интегрировать его с `axios` или `supertest` в одном проекте.
- [ ] **Инструменты для мониторинга производительности**: Используйте `page.route()` для перехвата сетевых запросов и интеграции с Lighthouse или пользовательскими метриками.
Комментарии (9)