Option
HeimHeim Skill Browser-Automatisierung playwright-expert

playwright-expert

Jeffallan/claude-skills Jeffallan/claude-skills

Verwenden Sie diesen Beitrag beim Schreiben von E2E-Tests mit Playwright, beim Einrichten der Testinfrastruktur oder beim Debuggen unzuverlässiger Browsertests. Nutzen Sie ihn für Browser-Automatisierung, E2E-Tests, das Page-Object-Modell, unzuverlässige Tests und visuelle Tests. Stichworte: Playwright, E2E, Browsertests, Automatisierung, Page Object.

...Alle erweitern
47
Zeit aktualisiert 29. Juni 2026

Über playwright-expert

Die Skill „playwright-expert “ wurde entwickelt, um das Schreiben und Verwalten von End-to-End-Tests (E2E) mithilfe des Playwright-Frameworks zu unterstützen. Sie löst häufige Herausforderungen wie das Einrichten der Testinfrastruktur, das Debuggen unzuverlässiger Tests und die Gewährleistung einer wartbaren Browser-Automatisierung. Durch den Einsatz dieser Kompetenz können Nutzer den Prozess des Erstellens robuster, zuverlässiger und schneller Tests für Webanwendungen optimieren, was für CI/CD-Workflows und kontinuierliches Testen von entscheidender Bedeutung ist. Ein weiterer Schwerpunkt liegt auf der Verbesserung der Qualität und Wartbarkeit von Tests, wodurch Tester bei der Bewältigung von Problemen wie unvorhersehbarem Browserverhalten, Leistungsengpässen und Integrationsproblemen mit verschiedenen Webdiensten unterstützt werden.

Zu den Hauptmerkmalen der Kompetenz „playwright-expert “ gehören Fachkenntnisse in den Bereichen Page-Object-Model-Muster (POM), API-Mocking, visuelle Regressionstests und Testkonfiguration für Playwright. Die Kompetenz hilft Anwendern bei der Umsetzung von Best Practices, wie beispielsweise der Nutzung von Auto-Waiting zur Vermeidung willkürlicher Timeouts, dem Schreiben unabhängiger Tests und der Verwendung rollenbasierter Selektoren, um zuverlässige Testausführungen zu gewährleisten. Darüber hinaus bietet diese Skill Empfehlungen für das Debugging, die Aktivierung von Traces und Screenshots zur schnellen Testanalyse sowie die parallele Ausführung von Tests zur Leistungsoptimierung.

Diese Funktion richtet sich in erster Linie an erfahrene QA-Automatisierungsingenieure, insbesondere an diejenigen mit umfassender Erfahrung im Bereich Browsertests und Playwright. Sie ist besonders wertvoll für Nutzer, die für den Aufbau der Testinfrastruktur, das Debuggen unzuverlässiger Tests, die Implementierung von POM-Mustern sowie die Durchführung von API-Mocking und visuellen Regressionstests verantwortlich sind. Entwickler und Tester, die an End-to-End-Tests für Webanwendungen arbeiten, insbesondere in CI/CD-Umgebungen, werden diese Kompetenz als äußerst nützlich empfinden.

FAQ

Wie richte ich Playwright für End-to-End-Tests ein?

Sie können Playwright einrichten, indem Sie die Konfigurationsanweisungen im Dokument „references/configuration.md“ befolgen, die auch die Einrichtung von „playwright.config.ts“ für die korrekte Testausführung umfassen.

Was ist das Page Object Model (POM) und wie hilft es beim Testen?

Das Page Object Model ist ein Entwurfsmuster zur Erstellung von Testklassen, die Webseiten repräsentieren. Es hilft bei der Organisation und Pflege von Tests, indem es einen zentralen Ort für Seiteninteraktionen bereitstellt und Tests dadurch lesbarer und wartbarer macht.

Kann ich diese Funktion in meine CI/CD-Pipeline integrieren?

Ja, diese Skill wurde mit Blick auf die CI/CD-Integration entwickelt. Die mit Playwright geschriebenen Tests lassen sich problemlos in Ihre CI/CD-Pipeline integrieren und gewährleisten so kontinuierliches Testen und schnellere Feedback-Zyklen.

Gibt es bei der Verwendung von Playwright irgendwelche Überlegungen zur Leistung?

Es wird empfohlen, Tests parallel auszuführen, um die Testleistung zu optimieren. Playwright unterstützt zudem das automatische Warten, wodurch unnötige Timeouts reduziert und die Gesamteffizienz der Tests verbessert werden.

Gibt es bei dieser Funktion Einschränkungen hinsichtlich der Testselektoren?

Ja, es wird empfohlen, nicht auf instabile Selektoren wie CSS-Klassennamen zurückzugreifen. Stattdessen sollten Sie nach Möglichkeit rollenbasierte Selektoren verwenden, um sicherzustellen, dass die Tests stabil und wartbar sind.

Auf GitHub ansehen

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

Alle Dateien

1 Dateien

playwright-expert installieren

Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.

ZIP herunterladen

Klonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.

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

Kopieren Kopieren
Schnelle Einrichtung: Kopiere den Skill-Ordner nach .claude/skills/. Claude erkennt den Skill automatisch und nutzt ihn.

Ähnliche Skills

playwright-cli
Zeit aktualisiert 29. Juni 2026
frontend-testing-best-practices
Zeit aktualisiert 7. Juli 2026
Playwright Browser Automation
Zeit aktualisiert 29. Juni 2026
playwright-generate-test
Zeit aktualisiert 29. Juni 2026
OR