Блок 1: Основные инструменты для инициализации и написания тестов.
- [ ] **Playwright Test Runner**: Основа основ. Убедитесь, что используете его встроенные возможности: фикстуры для изоляции тестов, встроенные assertions, автоматическое ожидание элементов.
- [ ] **Playwright CodeGen**: Инструмент для записи тестов. Идеален для быстрого создания прототипов или изучения селекторов. Чек-поинт: используйте его с флагом `--target=python` (или javascript, java, csharp) для генерации кода на нужном языке.
- [ ] **Playwright Inspector**: Графический инструмент для отладки. Запускайте тесты в режиме отладки (`--debug`) для пошагового выполнения, просмотра DOM-снимков и консоли браузера.
- [ ] **IDE Расширения**: Официальные расширения для VS Code и IntelliJ IDEA. Они обеспечивают подсветку синтаксиса, подсказки по API, запуск тестов прямо из редактора и просмотр трассировки.
- [ ] **Playwright CLI (Command Line Interface)**: Используйте команды `playwright install` для установки нужных версий браузеров и `playwright screenshot` для быстрых скриншотов вне тестов.
- [ ] **Browser Contexts**: Чек-поинт на использование изолированных контекстов для параллельного выполнения тестов без пересечения cookies и storage. Это ключ к стабильности.
- [ ] **Device Emulation**: Встроенная эмуляция мобильных устройств (iPhone, iPad, Android) через `playwright.devices`. Убедитесь, что ваш набор тестов покрывает ключевые viewports.
- [ ] **Auto-waiting**: Не пишите свои `sleep()` и `setTimeout()`. Положитесь на встроенные автоматические ожидания Playwright перед каждым действием (клик, заполнение).
- [ ] **Locators**: Всегда используйте современные `page.locator()` вместо устаревших `page.$()`. Локаторы имеют встроенные ожидания и лучшее API.
- [ ] **Trace Viewer**: Включайте запись трассировки для падающих тестов (`trace: 'on-first-retry'`). Это незаменимый инструмент для анализа того, что происходило в браузере в момент падения: скриншоты, сетевые запросы, консоль.
- [ ] **Шаблоны для повторных попыток и ожиданий**: Используйте `test.describe.configure({ retries: 2 })` для повторения неудачных тестов и создавайте кастомные ожидания для сложных условий (например, появления файла для скачивания).
- [ ] **Docker-образы Playwright**: Используйте официальные образы (`mcr.microsoft.com/playwright`) для запуска в CI-пайплайнах (GitHub Actions, GitLab CI, Jenkins). Они содержат все зависимости.
- [ ] **Playwright GitHub Action**: Готовое действие для быстрой настройки тестов в GitHub Actions с кэшированием и автоматическим созданием артефактов (отчеты, трассировки).
- [ ] **Конфигурация для параллельного запуска**: Настройте `workers` в `playwright.config` для оптимального параллельного выполнения тестов в CI, сокращая общее время прогона.
- [ ] **Встроенные репортеры**: Активируйте `reporter: [['html'], ['list'], ['junit']]`. HTML-репортер предоставляет интерактивный и наглядный отчет с возможностью фильтрации.
- [ ] **Сторонние репортеры**: Рассмотрите `playwright-allure` для интеграции с Allure Framework или `monocart-reporter` для расширенных возможностей.
- [ ] **Slack/Teams-уведомления**: Настройте отправку уведомлений о результатах прогона тестов через скрипты в CI, используя данные из JUnit-отчета.
- [ ] **Визуальное регрессионное тестирование**: Интегрируйте `@playwright/test` с сервисами вроде `argos`, `percy` или `loki` для автоматического сравнения скриншотов.
- [ ] **Playwright Library (помимо Test)**: Для сложных сценариев, где нужен полный контроль (скрапинг, автоматизация), используйте API библиотеки напрямую.
- [ ] **Кастомные страницы и браузеры**: Создавайте свои фикстуры для авторизации или сложной настройки состояния приложения, чтобы избежать дублирования кода.
- [ ] **Мокапы сетевых запросов**: Активно используйте `page.route()` для перехвата и мокирования API-ответов, делая тесты быстрыми и независимыми от бэкенда.
Комментарии (9)