스킬 playwright-best-practices
📦

playwright-best-practices

낮은 위험 ⚡ 스크립트 포함🌐 네트워크 접근📁 파일 시스템 액세스🔑 환경 변수⚙️ 외부 명령어

Обзор тестов Playwright на соответствие лучшим практикам

또한 다음에서 사용할 수 있습니다: 0xBigBoss,0xBigBoss

Тесты Playwright часто страдают от нестабильности, медленного выполнения и плохой поддерживаемости. Этот skill проводит анализ тестового кода TypeScript на соответствие более чем 40 проверенным лучшим практикам, организованным в 8 категорий, предоставляя конкретные предложения по улучшению с понятными примерами.

지원: Claude Codex Code(CC)
📊 69 적절함
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"playwright-best-practices" 사용 중입니다. Review the following Playwright test code: ```typescript test('login test', async ({ page }) => { await page.goto('https://example.com'); await page.waitForTimeout(2000); await page.click('.submit-button'); const isVisible = await page.locator('.welcome').isVisible(); expect(isVisible).toBe(true); }); ```

예상 결과:

Found 2 issues in the test:

1. **Manual waitForTimeout** (Line 3)
- Issue: Using `waitForTimeout(2000)` causes flakiness and wastes time
- Impact: HIGH - Leads to unreliable tests and slow execution
- Fix: Use Playwright's built-in auto-waiting or explicit waits for network events

2. **Generic expect without auto-waiting** (Line 5)
- Issue: `expect(isVisible).toBe(true)` doesn't auto-retry
- Impact: HIGH - Can fail intermittently when element isn't ready
- Fix: Use `await expect(page.locator('.welcome')).toBeVisible()`

"playwright-best-practices" 사용 중입니다. Check my locators for best practices: ```typescript const submitButton = page.locator('button.submit-btn:nth-child(2)'); const userName = page.locator('div.container > div.content > span.name'); ```

예상 결과:

Found 2 locator issues:

1. **Position-based CSS selector**
- Issue: `button.submit-btn:nth-child(2)` is fragile and breaks on UI changes
- Impact: HIGH - Tests fail when button order changes
- Fix: Use role-based locator like `page.getByRole('button', { name: 'Submit' })`

2. **Deep CSS chain**
- Issue: `div.container > div.content > span.name` is brittle and couples to DOM structure
- Impact: MEDIUM - Breaks on any structural refactoring
- Fix: Use semantic locators like `page.getByText('User Name')` or ARIA roles

보안 감사

낮은 위험
v3 • 1/23/2026

This is a documentation-only skill containing markdown files with code examples. All static findings are false positives - patterns detected in documentation code blocks, not executable code. The skill provides guidelines for Playwright test best practices and does not execute arbitrary code, make network requests to external services, or access sensitive files.

15
스캔된 파일
7,900
분석된 줄 수
9
발견 사항
3
총 감사 수
낮은 위험 문제 (4)
Documentation Shell Command Examples
Shell command patterns found in markdown documentation code blocks. These are instructional examples for setup commands (pnpm install, pnpm build) and are not executable code.
Documentation Hardcoded URLs
URL patterns found in markdown documentation. These are documentation links to resources, tutorials, and references, not runtime network requests.
Documentation Environment Variable Examples
Environment variable access patterns found in code examples within documentation. These are instructional examples showing how to configure test environments.
Documentation TypeScript Code Examples
TypeScript code patterns in documentation showing Playwright test examples. These are instructional examples demonstrating best practices, not executable test code.

위험 요인

⚡ 스크립트 포함
기록된 특정 위치가 없습니다
🌐 네트워크 접근 (1)
📁 파일 시스템 액세스 (1)
🔑 환경 변수 (1)
⚙️ 외부 명령어 (1)
감사자: claude 감사 이력 보기 →

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
31
커뮤니티
82
보안
100
사양 준수

만들 수 있는 것

QA инженер проверяет существующие тесты

QA инженер хочет провести аудит своего набора тестов Playwright на предмет проблем стабильности и поддерживаемости перед развертыванием в производство.

Разработчик рефакторит устаревшие тесты

Разработчик выполняет рефакторинг устаревших тестов Selenium в Playwright и хочет получить руководство по правильным паттернам и антипаттернам, которых следует избегать.

Проверка качества в CI/CD pipeline

Команда хочет автоматически проверять, что новые тестовые вклады соответствуют установленным лучшим практикам перед слиянием.

이 프롬프트를 사용해 보세요

Базовый обзор тестов
Проверьте мои тесты Playwright в {file_path} на соответствие лучшим практикам. Проверьте проблемы, такие как отсутствие автоматического ожидания, правильное использование assertions и стратегии локаторов.
Комплексный аудит набора тестов
Проведите аудит всех тестов Playwright в директории {directory} на соответствие рекомендациям по лучшим практикам. Для каждой найденной проблемы объясните, что не так, почему это важно, и предоставьте исправленный пример.
Проверка конкретного паттерна
Проверьте, правильно ли мои тесты используют веб-ориентированные assertions. Найдите случаи, когда используется общий expect() вместо веб-ориентированных assertions, таких как toBeVisible(), toHaveText() и toHaveCount().
Обзор оптимизации производительности
Проверьте мои тесты Playwright на проблемы производительности. Проверьте медленные селекторы, отсутствие паттернов Page Object Model, отсутствие конфигурации параллельного выполнения и ненужные ожидания. Предложите конкретные улучшения с примерами кода.

모범 사례

  • Всегда используйте веб-ориентированные assertions (toBeVisible, toHaveText, toHaveCount) вместо общего expect с извлеченными значениями — они автоматически ожидают и повторяют попытки
  • Предпочитайте ролевые локаторы (getByRole, getByText, getByLabel) селекторам CSS/XPath — они более устойчивы к изменениям в UI
  • Никогда не используйте ручные ожидания, такие как waitForTimeout — полагайтесь на встроенное в Playwright автоматическое ожидание или явные ожидания сетевых событий

피하기

  • Использование общего expect() с вручную извлеченными значениями DOM вместо веб-ориентированных assertions
  • Использование позиционных CSS селекторов или хрупких XPath выражений вместо семантических ролевых локаторов
  • Добавление произвольных задержек сна вместо правильного автоматического ожидания или явных условных ожиданий

자주 묻는 질문

Чем этот skill отличается от других инструментов код-ревью?
Этот skill специально разработан для тестирования Playwright TypeScript с более чем 40 курируемыми правилами. Он предоставляет контекстные объяснения, уровни влияния для каждой проблемы и конкретные примеры кода, показывающие как неправильные, так и правильные паттерны.
Этот skill изменяет мои тестовые файлы?
Нет. Skill только проводит обзор и предоставляет обратную связь. Он не выполняет никакой код и не вносит изменения в ваши файлы. Все предложения носят информационный характер.
Какие категории лучших практик он проверяет?
Skill охватывает 8 категорий: Стабильность и надежность тестов, Скорость выполнения тестов, Лучшие практики локаторов, Assertions и ожидания, Параллельное выполнение, Фикстуры и организация тестов, Отладка и поддержка, и Продвинутые паттерны.
Могу ли я использовать это для тестов не на Playwright?
Правила специально разработаны для тестов Playwright TypeScript. Хотя некоторые общие принципы тестирования применимы, skill не будет предоставлять релевантную обратную связь для других тестовых фреймворков, таких как Cypress, Selenium или Jest.
Как skill обрабатывает разные версии Playwright?
Правила лучших практик основаны на текущих API и паттернах Playwright. Skill анализирует код против установленных рекомендаций, которые работают с современными версиями Playwright.
Могу ли я добавить пользовательские правила в этот skill?
Skill использует фиксированный набор правил, определенный в файле AGENTS.md. Пользовательские правила потребуют изменения исходных файлов skill. Для специфичных для команды рекомендаций рассмотрите возможность их отдельного документирования.