e2e-testing-patterns
Создание надежных сквозных тестовых наборов
Сквозные тесты обнаруживают критические ошибки до того, как это сделают пользователи, но нестабильные тесты замедляют развертывание и подрывают доверие. Этот навык teaches проверенные паттерны для создания быстрых и надежных сквозных тестовых наборов с Playwright и Cypress, которые улучшают качество кода, не замедляя вашу команду.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «e2e-testing-patterns». Создать пользовательскую команду Cypress для входа пользователя
Ожидаемый результат:
Сгенерирована пользовательская команда Cypress, которая принимает параметры email и пароля, переходит на страницу входа, заполняет учетные данные, используя селекторы data-testid, нажимает кнопку отправки и проверяет успешное перенаправление на панель управления. Включает определения типов TypeScript для поддержки автодополнения в IDE.
Использование «e2e-testing-patterns». Как сделать этот тест менее нестабильным?
Ожидаемый результат:
Обнаружены три источника нестабильности: фиксированные ожидания таймаута должны быть заменены на условные ожидания, CSS-селекторы классов должны использовать атрибуты data-testid, и параллельные тесты используют общее состояние через глобальные переменные. Предоставлены конкретные изменения кода с правильными waitForState, селекторами на основе ролей и изолированными тестовыми фикстурами.
Использование «e2e-testing-patterns». Настроить визуальное регрессионное тестирование с Playwright
Ожидаемый результат:
Создан паттерн визуального регрессионного тестирования, который захватывает скриншоты полной страницы, обрабатывает разные размеры вьюпорта, исключает динамический контент, такой как метки времени, и использует пороги пиксельных различий для уменьшения ложных срабатываний. Включает рабочий процесс генерации базовых снимков и шаги интеграции CI.
Аудит безопасности
БезопасноThis skill provides educational content for end-to-end testing patterns with Playwright and Cypress. All static findings are false positives: weak crypto detections are from filename patterns, backtick executions are code examples in documentation, environment variable access is legitimate test configuration, and hardcoded URLs are localhost test endpoints. No security risks identified.
Оценка качества
Что вы можете построить
QA-инженер создает автоматизацию тестирования
Инженер по качеству должен установить стандарты сквозного тестирования для нового проекта. Он использует этот навык для создания Page Object Models, настройки интеграции CI/CD и реализации надежных стратегий ожидания, которые уменьшают нестабильность тестов.
Фронтенд-разработчик тестирует пользовательские потоки
Фронтенд-разработчик хочет добавить сквозные тесты для критических пользовательских процессов, таких как аутентификация и оформление заказа. Он использует этот навык для создания паттернов сетевого мокирования, пользовательских фикстур и тестов доступности, которые обнаруживают регрессии на раннем этапе.
Технический лидер устанавливает стандарты тестирования
Техническому лидеру нужно установить лучшие практики сквозного тестирования в нескольких командах. Он использует этот навык для документирования стратегий выбора элементов, паттернов параллельного тестирования и подходов к отладке, которые улучшают поддерживаемость тестового набора.
Попробуйте эти промпты
Создайте Page Object Model для страницы входа с полями email и пароля, а также обработкой ошибок, используя Playwright
Просмотрите этот тест и предложите исправления для нестабильного поведения, вызванного проблемами синхронизации и состояниями гонки
Создайте паттерны перехвата сети для мокирования ошибок API и граничных случаев на странице профиля пользователя
Разработайте стратегию шардирования для запуска 200 сквозных тестов на 4 CI воркерах с оптимальным распределением
Лучшие практики
- Используйте семантические селекторы, такие как getByRole и getByLabel, вместо CSS-классов для создания стабильных тестов, которые выдерживают рефакторинг UI
- Реализуйте правильные стратегии ожидания с условными проверками и утверждениями вместо фиксированных таймаутов для устранения нестабильных тестов
- Сохраняйте тесты независимыми с изолированными фикстурами и очисткой для обеспечения параллельного выполнения и надежных тестовых прогонов
Избегать
- Использование фиксированных таймаутов, таких как waitForTimeout, вместо ожидания определенных условий приводит к ненадежным тестам, которые периодически падают
- Тестирование деталей реализации или внутреннего состояния вместо видимого пользователю поведения создает хрупкие тесты, которые ломаются при рефакторинге
- Совместное использование состояния между тестами или зависимость от порядка выполнения тестов предотвращает параллельное выполнение и вызывает каскадные сбои
Часто задаваемые вопросы
Что лучше использовать для сквозного тестирования: Playwright или Cypress?
Сколько сквозных тестов я должен написать по сравнению с юнит-тестами?
Как исправить нестабильные тесты, которые случайно падают в CI?
Могу ли я использовать этот навык с другими фреймворками тестирования, помимо Playwright и Cypress?
Как ускорить мой сквозной тестовый набор в CI пайплайнах?
Следует ли мне тестировать требования доступности с помощью сквозных тестов?
Сведения для разработчиков
Автор
wshobsonЛицензия
MIT
Репозиторий
https://github.com/wshobson/agents/tree/main/plugins/developer-essentials/skills/e2e-testing-patternsСсылка
main
Структура файлов
📄 SKILL.md