opção
LarLar Skill Automação do navegador playwright-expert

playwright-expert

Jeffallan/claude-skills Jeffallan/claude-skills

Utilize ao escrever testes E2E com o Playwright, ao configurar a infraestrutura de testes ou ao depurar testes de navegador instáveis. Recorra a ele para automação de navegador, testes E2E, Modelo de Objeto de Página, instabilidade de testes e testes visuais. Palavras-chave: Playwright, E2E, testes de navegador, automação, Modelo de Objeto de Página.

...Expandir tudo
47
Tempo atualizado 29 de Junho de 2026

Sobre playwright-expert

A habilidade “playwright-expert ” foi desenvolvida para auxiliar na criação e no gerenciamento de testes de ponta a ponta (E2E) utilizando a estrutura Playwright. Ela resolve desafios comuns, como a configuração da infraestrutura de testes, a depuração de testes instáveis e a garantia de uma automação de navegador sustentável. Ao utilizar essa habilidade, os usuários podem otimizar o processo de criação de testes robustos, confiáveis e rápidos para aplicativos web, o que é fundamental para fluxos de trabalho de CI/CD e testes contínuos. Ela também se concentra em melhorar a qualidade e a facilidade de manutenção dos testes, ajudando os testadores a lidar com problemas como comportamento instável do navegador, gargalos de desempenho e problemas de integração com diversos serviços web.

Os principais recursos da habilidade “playwright-expert ” incluem conhecimento especializado em padrões do Page Object Model (POM), simulação de APIs, testes de regressão visual e configuração de testes para o Playwright. A habilidade ajuda os usuários a implementar as melhores práticas, como aproveitar a espera automática para evitar tempos de espera arbitrários, escrever testes independentes e usar seletores baseados em funções para garantir execuções de teste confiáveis. Além disso, essa habilidade oferece recomendações para lidar com a depuração, ativar rastreamentos e capturas de tela para uma análise rápida dos testes e executar testes em paralelo para otimizar o desempenho.

Esta habilidade é voltada principalmente para engenheiros sênior de automação de controle de qualidade, especialmente aqueles com ampla experiência em testes de navegador e no Playwright. É valiosa para usuários responsáveis pela construção de infraestrutura de testes, depuração de testes instáveis, implementação de padrões POM e realização de simulação de API e testes de regressão visual. Desenvolvedores e testadores que trabalham com testes de ponta a ponta para aplicativos web, particularmente em ambientes de CI/CD, considerarão esta habilidade altamente benéfica.

Perguntas frequentes

Como configuro o Playwright para testes de ponta a ponta?

Você pode configurar o Playwright seguindo as diretrizes de configuração no documento 'references/configuration.md', que inclui a configuração do arquivo playwright.config.ts para a execução correta dos testes.

O que é o Modelo de Objeto de Página (POM) e como ele ajuda nos testes?

O Modelo de Objeto de Página é um padrão de design para a criação de classes de teste que representam páginas da web. Ele ajuda a organizar e manter os testes, fornecendo um local central para as interações com as páginas, tornando os testes mais legíveis e fáceis de manter.

Posso integrar essa habilidade ao meu pipeline de CI/CD?

Sim, esta habilidade foi projetada tendo em mente a integração com CI/CD. Os testes escritos usando o Playwright podem ser facilmente integrados ao seu pipeline de CI/CD, garantindo testes contínuos e ciclos de feedback mais rápidos.

Há alguma consideração de desempenho ao usar o Playwright?

Recomenda-se executar os testes em paralelo para otimizar o desempenho dos testes. O Playwright também oferece suporte à espera automática, reduzindo tempos de espera desnecessários e melhorando a eficiência geral dos testes.

Existe alguma restrição quanto aos seletores de teste nesta habilidade?

Sim, é aconselhável evitar depender de seletores instáveis, como nomes de classes CSS. Em vez disso, você deve usar seletores baseados em funções sempre que possível para garantir que os testes sejam estáveis e fáceis de manter.

Ver no 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

Todos os arquivos

1 arquivos
SKILL.md 2.8k
Ver

Instalar playwright-expert

Baixe e extraia os arquivos de habilidades para o diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

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

Copiar Copiar
Configuração rápida: Copie a pasta da habilidade para .claude/skills/. O Claude detectará e utilizará automaticamente a habilidade

Habilidades relacionadas

playwright-cli
Tempo atualizado 29 de Junho de 2026
frontend-testing-best-practices
Tempo atualizado 7 de Julho de 2026
Playwright Browser Automation
Tempo atualizado 29 de Junho de 2026
playwright-generate-test
Tempo atualizado 29 de Junho de 2026
OR