вариант

playwright-expert

Jeffallan/claude-skills Jeffallan/claude-skills

Используйте при написании E2E-тестов с помощью Playwright, настройке тестовой инфраструктуры или отладке нестабильных браузерных тестов. Применяйте для автоматизации работы браузера, E2E-тестов, модели «Page Object», устранения нестабильности тестов и визуального тестирования. Ключевые слова: Playwright, E2E, тестирование браузера, автоматизация, «Page Object».

...Расширить все
47
Обновлено время 29 июня 2026 г.

О playwright-expert

Навык «playwright-expert » предназначен для помощи в написании и управлении сквозными (E2E) тестами с использованием фреймворка Playwright. Он решает такие распространенные задачи, как настройка тестовой инфраструктуры, отладка нестабильных тестов и обеспечение удобства обслуживания автоматизации браузера. Используя этот навык, пользователи могут оптимизировать процесс написания надежных, стабильных и быстрых тестов для веб-приложений, что имеет решающее значение для рабочих процессов CI/CD и непрерывного тестирования. Он также направлен на повышение качества и удобства обслуживания тестов, помогая тестировщикам решать такие проблемы, как нестабильное поведение браузера, узкие места в производительности и проблемы интеграции с различными веб-сервисами.

Основные особенности навыка «playwright-expert » включают экспертизу в области шаблонов Page Object Model (POM), имитации API, визуального регрессионного тестирования и настройки тестов для Playwright. Этот навык помогает пользователям внедрять передовые практики, такие как использование автоматического ожидания для предотвращения произвольных таймаутов, написание независимых тестов и применение селекторов на основе ролей для обеспечения надёжного выполнения тестов. Кроме того, этот навык содержит рекомендации по отладке, включению трассировок и создания скриншотов для быстрого анализа тестов, а также по параллельному выполнению тестов с целью оптимизации производительности.

Этот навык в первую очередь предназначен для старших инженеров по автоматизации контроля качества, особенно тех, кто имеет обширный опыт в тестировании браузеров и работе с Playwright. Он будет полезен пользователям, ответственным за построение тестовой инфраструктуры, отладку нестабильных тестов, внедрение шаблонов POM, а также за имитацию API и визуальное регрессионное тестирование. Разработчики и тестировщики, занимающиеся сквозным тестированием веб-приложений, особенно в средах CI/CD, найдут этот навык чрезвычайно полезным.

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

Как настроить Playwright для сквозного тестирования?

Вы можете настроить Playwright, следуя инструкциям по настройке в документе «references/configuration.md», которые включают настройку файла playwright.config.ts для правильного выполнения тестов.

Что такое модель объекта страницы (POM) и как она помогает при тестировании?

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

Могу ли я интегрировать этот навык в свой конвейер CI/CD?

Да, этот навык разработан с учётом интеграции с CI/CD. Тесты, написанные с использованием Playwright, можно легко интегрировать в ваш конвейер CI/CD, что обеспечит непрерывное тестирование и более быстрые циклы обратной связи.

Есть ли какие-либо соображения по поводу производительности при использовании Playwright?

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

Существуют ли какие-либо ограничения на селекторы тестов в этом навыке?

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

Посмотреть на GitHub

Playwright Expert

E2E testing specialist with deep expertise in Playwright for robust, maintainable browser automation.

Core Workflow

  1. Analyze requirements - Identify user flows to test
  2. Setup - Configure Playwright with proper settings
  3. Write tests - Use POM pattern, proper selectors, auto-waiting
  4. Debug - Run test → check trace → identify issue → fix → verify fix
  5. Integrate - Add to CI/CD pipeline

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Selectorsreferences/selectors-locators.mdWriting selectors, locator priority
Page Objectsreferences/page-object-model.mdPOM patterns, fixtures
API Mockingreferences/api-mocking.mdRoute interception, mocking
Configurationreferences/configuration.mdplaywright.config.ts setup
Debuggingreferences/debugging-flaky.mdFlaky tests, trace viewer

Constraints

MUST DO

  • Use role-based selectors when possible
  • Leverage auto-waiting (don't add arbitrary timeouts)
  • Keep tests independent (no shared state)
  • Use Page Object Model for maintainability
  • Enable traces/screenshots for debugging
  • Run tests in parallel

MUST NOT DO

  • Use waitForTimeout() (use proper waits)
  • Rely on CSS class selectors (brittle)
  • Share state between tests
  • Ignore flaky tests
  • Use first(), nth() without good reason

Code Examples

Selector: Role-based (correct) vs CSS class (brittle)

// ✅ Role-based selector — resilient to styling changesawait page.getByRole('button', { name: 'Submit' }).click();await page.getByLabel('Email address').fill('[email protected]');// ❌ CSS class selector — breaks on refactorawait page.locator('.btn-primary.submit-btn').click();await page.locator('.email-input').fill('[email protected]');

Page Object Model + Test File

// pages/LoginPage.tsimport { type Page, type Locator } from '@playwright/test';export class LoginPage {  readonly page: Page;  readonly emailInput: Locator;  readonly passwordInput: Locator;  readonly submitButton: Locator;  readonly errorMessage: Locator;  constructor(page: Page) {    this.page = page;    this.emailInput = page.getByLabel('Email address');    this.passwordInput = page.getByLabel('Password');    this.submitButton = page.getByRole('button', { name: 'Sign in' });    this.errorMessage = page.getByRole('alert');  }  async goto() {    await this.page.goto('/login');  }  async login(email: string, password: string) {    await this.emailInput.fill(email);    await this.passwordInput.fill(password);    await this.submitButton.click();  }}
// tests/login.spec.tsimport { test, expect } from '@playwright/test';import { LoginPage } from '../pages/LoginPage';test.describe('Login', () => {  let loginPage: LoginPage;  test.beforeEach(async ({ page }) => {    loginPage = new LoginPage(page);    await loginPage.goto();  });  test('successful login redirects to dashboard', async ({ page }) => {    await loginPage.login('[email protected]', 'correct-password');    await expect(page).toHaveURL('/dashboard');  });  test('invalid credentials shows error', async () => {    await loginPage.login('[email protected]', 'wrong-password');    await expect(loginPage.errorMessage).toBeVisible();    await expect(loginPage.errorMessage).toContainText('Invalid credentials');  });});

Debugging Workflow for Flaky Tests

// 1. Run failing test with trace enabled// playwright.config.tsuse: {  trace: 'on-first-retry',  screenshot: 'only-on-failure',}// 2. Re-run with retries to capture trace// npx playwright test --retries=2// 3. Open trace viewer to inspect timeline// npx playwright show-trace test-results/.../trace.zip// 4. Common fix — replace arbitrary timeout with proper wait// ❌ Flakyawait page.waitForTimeout(2000);await page.getByRole('button', { name: 'Save' }).click();// ✅ Reliable — waits for element stateawait page.getByRole('button', { name: 'Save' }).waitFor({ state: 'visible' });await page.getByRole('button', { name: 'Save' }).click();// 5. Verify fix — run test 10x to confirm stability// npx playwright test --repeat-each=10

Output Templates

When implementing Playwright tests, provide:

  1. Page Object classes
  2. Test files with proper assertions
  3. Fixture setup if needed
  4. Configuration recommendations

Knowledge Reference

Playwright, Page Object Model, auto-waiting, locators, fixtures, API mocking, trace viewer, visual comparisons, parallel execution, CI/CD integration

Documentation

Все файлы

1 файлов

Установить playwright-expert

Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.

Скачать ZIP

Клонируйте репозиторий и скопируйте файлы навыка в свой проект.

git clone https://github.com/Jeffallan/claude-skills/blob/main/skills/playwright-expert/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Копировать Копировать
Быстрая настройка: Скопируйте папку со скиллом в .claude/skills/ — Claude автоматически обнаружит и начнет использовать этот скилл
Репозиторий Jeffallan/claude-skills

Похожие навыки

playwright-cli
Обновлено время 29 июня 2026 г.
frontend-testing-best-practices
Обновлено время 7 июля 2026 г.
Playwright Browser Automation
Обновлено время 29 июня 2026 г.
playwright-generate-test
Обновлено время 29 июня 2026 г.
OR