← ClaudeAtlas

testing-advancedlisted

Advanced testing: E2E with Playwright/Cypress, property-based testing, mutation testing, contract testing, and CI/CD pipelines. Use when: (1) E2E tests with Playwright/Cypress, (2) Property-based testing with fast-check, (3) Mutation testing, (4) Contract testing with Pact, (5) CI/CD test pipelines, (6) Flaky test management. Auto-detects: playwright.config.*, cypress.config.*, e2e/, pact, fast-check, stryker, mutation in package.json
murtazatouqeer/f5-framework-claude · ★ 0 · Testing & QA · score 75
Install: claude install-skill murtazatouqeer/f5-framework-claude
# Testing Advanced Skill E2E, property-based, mutation, and CI/CD testing patterns. ## E2E with Playwright ```bash npx playwright test # Run all npx playwright test --ui # UI mode npx playwright test --debug # Debug mode npx playwright codegen # Generate tests ``` ### Page Object Model ```typescript // pages/LoginPage.ts export class LoginPage { constructor(private page: Page) {} async login(email: string, password: string) { await this.page.fill('[data-testid="email"]', email); await this.page.fill('[data-testid="password"]', password); await this.page.click('[data-testid="submit"]'); } async expectLoggedIn() { await expect(this.page).toHaveURL('/dashboard'); } } // tests/auth.spec.ts test('should login successfully', async ({ page }) => { const loginPage = new LoginPage(page); await page.goto('/login'); await loginPage.login('user@test.com', 'password'); await loginPage.expectLoggedIn(); }); ``` ### Visual Regression ```typescript test('should match screenshot', async ({ page }) => { await page.goto('/dashboard'); await expect(page).toHaveScreenshot('dashboard.png', { maxDiffPixels: 100, }); }); ``` ## Cypress Configuration ```typescript // cypress.config.ts export default defineConfig({ e2e: { baseUrl: 'http://localhost:3000', supportFile: 'cypress/support/e2e.ts', specPattern: 'cypress/e2e/**/*.cy.ts', }, retries: { runMode: 2, openMode: 0 }, }); ``` ## Property-Based Testin