Навыки e2e-testing-patterns
📦

e2e-testing-patterns

Безопасно

Создание надежных сквозных тестовых наборов

Сквозные тесты обнаруживают критические ошибки до того, как это сделают пользователи, но нестабильные тесты замедляют развертывание и подрывают доверие. Этот навык teaches проверенные паттерны для создания быстрых и надежных сквозных тестовых наборов с Playwright и Cypress, которые улучшают качество кода, не замедляя вашу команду.

Поддерживает: Claude Codex Code(CC)
📊 71 Адекватно
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «e2e-testing-patterns». Создать пользовательскую команду Cypress для входа пользователя

Ожидаемый результат:

Сгенерирована пользовательская команда Cypress, которая принимает параметры email и пароля, переходит на страницу входа, заполняет учетные данные, используя селекторы data-testid, нажимает кнопку отправки и проверяет успешное перенаправление на панель управления. Включает определения типов TypeScript для поддержки автодополнения в IDE.

Использование «e2e-testing-patterns». Как сделать этот тест менее нестабильным?

Ожидаемый результат:

Обнаружены три источника нестабильности: фиксированные ожидания таймаута должны быть заменены на условные ожидания, CSS-селекторы классов должны использовать атрибуты data-testid, и параллельные тесты используют общее состояние через глобальные переменные. Предоставлены конкретные изменения кода с правильными waitForState, селекторами на основе ролей и изолированными тестовыми фикстурами.

Использование «e2e-testing-patterns». Настроить визуальное регрессионное тестирование с Playwright

Ожидаемый результат:

Создан паттерн визуального регрессионного тестирования, который захватывает скриншоты полной страницы, обрабатывает разные размеры вьюпорта, исключает динамический контент, такой как метки времени, и использует пороги пиксельных различий для уменьшения ложных срабатываний. Включает рабочий процесс генерации базовых снимков и шаги интеграции CI.

Аудит безопасности

Безопасно
v5 • 1/21/2026

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.

2
Просканировано файлов
1,286
Проанализировано строк
0
находки
5
Всего аудитов
Проблем безопасности не найдено

Оценка качества

38
Архитектура
100
Сопровождаемость
87
Контент
31
Сообщество
100
Безопасность
87
Соответствие спецификации

Что вы можете построить

QA-инженер создает автоматизацию тестирования

Инженер по качеству должен установить стандарты сквозного тестирования для нового проекта. Он использует этот навык для создания Page Object Models, настройки интеграции CI/CD и реализации надежных стратегий ожидания, которые уменьшают нестабильность тестов.

Фронтенд-разработчик тестирует пользовательские потоки

Фронтенд-разработчик хочет добавить сквозные тесты для критических пользовательских процессов, таких как аутентификация и оформление заказа. Он использует этот навык для создания паттернов сетевого мокирования, пользовательских фикстур и тестов доступности, которые обнаруживают регрессии на раннем этапе.

Технический лидер устанавливает стандарты тестирования

Техническому лидеру нужно установить лучшие практики сквозного тестирования в нескольких командах. Он использует этот навык для документирования стратегий выбора элементов, паттернов параллельного тестирования и подходов к отладке, которые улучшают поддерживаемость тестового набора.

Попробуйте эти промпты

Создание Page Object Model
Создайте Page Object Model для страницы входа с полями email и пароля, а также обработкой ошибок, используя Playwright
Отладка нестабильного теста
Просмотрите этот тест и предложите исправления для нестабильного поведения, вызванного проблемами синхронизации и состояниями гонки
Мокирование ответов API
Создайте паттерны перехвата сети для мокирования ошибок API и граничных случаев на странице профиля пользователя
Реализация параллельного тестирования
Разработайте стратегию шардирования для запуска 200 сквозных тестов на 4 CI воркерах с оптимальным распределением

Лучшие практики

  • Используйте семантические селекторы, такие как getByRole и getByLabel, вместо CSS-классов для создания стабильных тестов, которые выдерживают рефакторинг UI
  • Реализуйте правильные стратегии ожидания с условными проверками и утверждениями вместо фиксированных таймаутов для устранения нестабильных тестов
  • Сохраняйте тесты независимыми с изолированными фикстурами и очисткой для обеспечения параллельного выполнения и надежных тестовых прогонов

Избегать

  • Использование фиксированных таймаутов, таких как waitForTimeout, вместо ожидания определенных условий приводит к ненадежным тестам, которые периодически падают
  • Тестирование деталей реализации или внутреннего состояния вместо видимого пользователю поведения создает хрупкие тесты, которые ломаются при рефакторинге
  • Совместное использование состояния между тестами или зависимость от порядка выполнения тестов предотвращает параллельное выполнение и вызывает каскадные сбои

Часто задаваемые вопросы

Что лучше использовать для сквозного тестирования: Playwright или Cypress?
Оба являются отличным выбором. Playwright предлагает лучшую поддержку нескольких браузеров, более быстрое выполнение и нативную поддержку TypeScript. Cypress обеспечивает лучший опыт отладки и более простой API для начинающих. Выбирайте в зависимости от потребностей вашей команды и существующих инструментов.
Сколько сквозных тестов я должен написать по сравнению с юнит-тестами?
Следуйте пирамиде тестирования: много юнит-тестов, меньше интеграционных тестов и только критические сквозные тесты. Сквозные тесты медленные и дорогие, поэтому фокусируйтесь на пользовательских процессах, которые вызовут серьезное влияние на бизнес в случае поломки, таких как аутентификация, оформление заказа и отправка данных.
Как исправить нестабильные тесты, которые случайно падают в CI?
Замените фиксированные таймауты на условные ожидания, используйте стабильные селекторы, такие как data-testid, вместо CSS-классов, убедитесь, что тесты независимы без общего состояния, и проверяйте завершение сетевых запросов перед выполнением проверок. Навык предоставляет конкретные паттерны для каждого сценария.
Могу ли я использовать этот навык с другими фреймворками тестирования, помимо Playwright и Cypress?
Паттерны и принципы широко применимы к сквозному тестированию, но примеры кода специфичны для Playwright и Cypress. Такие концепции, как Page Object Model, стратегии ожидания и сетевое мокирование, переносятся в другие фреймворки с небольшими синтаксическими изменениями.
Как ускорить мой сквозной тестовый набор в CI пайплайнах?
Используйте параллельное выполнение с шардированием для распределения тестов между воркерами, мокируйте внешние API, чтобы избежать задержек сети, запускайте тесты в headless-режиме и тестируйте только критические пути сквозными тестами, перенося граничные случаи в более быстрые интеграционные тесты.
Следует ли мне тестировать требования доступности с помощью сквозных тестов?
Да, интеграция тестирования доступности с такими инструментами, как axe-core, в ваш сквозной тестовый набор гарантирует, что доступность проверяется при реальных взаимодействиях пользователя. Это обнаруживает проблемы, которые может пропустить статический анализ, такие как навигация с клавиатуры и совместимость со скринридерами.

Сведения для разработчиков

Автор

wshobson

Лицензия

MIT

Ссылка

main

Структура файлов

📄 SKILL.md