e2e-testing

GitHub

提供Playwright和Cypress的E2E测试最佳实践,涵盖选择器策略、测试结构、视觉测试及CI/CD集成指南。

categories/testing-qa/e2e-testing/SKILL.md cosmicstack-labs/mercury-agent-skills

Trigger Scenarios

编写端到端测试用例 配置自动化测试流水线 解决前端UI测试问题

Install

npx skills add cosmicstack-labs/mercury-agent-skills --skill e2e-testing -g -y
More Options

Non-standard path

npx skills add https://github.com/cosmicstack-labs/mercury-agent-skills/tree/main/categories/testing-qa/e2e-testing -g -y

Use without installing

npx skills use cosmicstack-labs/mercury-agent-skills@e2e-testing

指定 Agent (Claude Code)

npx skills add cosmicstack-labs/mercury-agent-skills --skill e2e-testing -a claude-code -g -y

安装 repo 全部 skill

npx skills add cosmicstack-labs/mercury-agent-skills --all -g -y

预览 repo 内 skill

npx skills add cosmicstack-labs/mercury-agent-skills --list

SKILL.md

Frontmatter
{
    "name": "e2e-testing",
    "metadata": {
        "tags": [
            "e2e",
            "testing",
            "playwright",
            "cypress",
            "automation"
        ],
        "author": "cosmicstack-labs",
        "version": "1.0.0",
        "category": "testing-qa"
    },
    "description": "Playwright and Cypress patterns, selectors, assertions, API mocking, visual testing, and CI\/CD"
}

E2E Testing

End-to-end testing with Playwright and Cypress.

Tool Choice

Factor Playwright Cypress
Language JS/TS, Python, C#, Java JS/TS only
Browser support Chromium, Firefox, WebKit Chromium, Firefox, WebKit
Iframe support Native Limited
Network mocking Route API intercept()
Parallel execution Built-in Dashboard required

Playwright Patterns

Selector Strategy (Priority Order)

  1. getByRole() — best for accessibility
  2. getByText() — for text content
  3. getByTestId() — for complex components
  4. getByLabel() — for form fields
  5. locator(CSS) — last resort

Test Structure

test.describe('Checkout Flow', () => {
  test('completes purchase with valid card', async ({ page }) => {
    await page.goto('/products');
    await page.getByText('Add to Cart').first().click();
    await page.getByRole('button', { name: 'Checkout' }).click();
    await page.getByLabel('Card Number').fill('4242424242424242');
    await page.getByRole('button', { name: 'Pay' }).click();
    await expect(page.getByText('Thank you')).toBeVisible();
  });
});

Visual Testing

  • Use await expect(page).toHaveScreenshot()
  • Maintain baseline screenshots in version control
  • Run visual tests on CI with 1% threshold
  • Use percy.io or Chromatic for cloud-based visual review

CI Integration

# GitHub Actions
- name: E2E Tests
  run: npx playwright test
- uses: actions/upload-artifact
  if: failure()
  with:
    name: playwright-report
    path: playwright-report/

Version History

  • 38e2523 Current 2026-07-05 19:42

Same Skill Collection

categories/ai-ml/agent-audit-logging/SKILL.md
categories/ai-ml/agent-handoff-protocols/SKILL.md
categories/ai-ml/agent-health-monitoring/SKILL.md
categories/ai-ml/agent-task-delegation/SKILL.md
categories/ai-ml/ai-agent-design/SKILL.md
categories/ai-ml/error-recovery-retry/SKILL.md
categories/ai-ml/memory-management/SKILL.md
categories/ai-ml/prompt-engineering/SKILL.md
categories/ai-ml/prompt-version-management/SKILL.md
categories/ai-ml/routerbase-model-gateway/SKILL.md
categories/ai-ml/token-budget-tracking/SKILL.md
categories/automation/daily-briefing/SKILL.md
categories/automation/screenshot/SKILL.md
categories/automation/shell-scripting/SKILL.md
categories/automation/twitter-account-manager/SKILL.md
categories/automation/workflow-automation/SKILL.md
categories/automation/x-twitter-automation/SKILL.md
categories/backend/api-design/SKILL.md
categories/backend/authentication-authorization/SKILL.md
categories/backend/caching-strategies/SKILL.md
categories/backend/database-design/SKILL.md
categories/backend/message-queues/SKILL.md
categories/backend/microservices/SKILL.md
categories/backend/nodejs-patterns/SKILL.md
categories/backend/python-patterns/SKILL.md
categories/backend/serverless-patterns/SKILL.md
categories/business/event-staffing-compliance/SKILL.md
categories/business/event-staffing-ordering/SKILL.md
categories/business/negotiation/SKILL.md
categories/business/startup-strategy/SKILL.md
categories/career/career-planning/SKILL.md
categories/career/interview-prep/SKILL.md
categories/career/linkedin-optimization/SKILL.md
categories/career/resume-writing/SKILL.md
categories/career/salary-negotiation/SKILL.md
categories/creative-personal-development/content-repurposer/SKILL.md
categories/creative-personal-development/daily-standup-journal/SKILL.md
categories/creative-personal-development/decision-matrix/SKILL.md
categories/creative-personal-development/idea-validator/SKILL.md
categories/creative-personal-development/meeting-note-summarizer/SKILL.md
categories/creative-personal-development/personal-branding-statement/SKILL.md
categories/creative-personal-development/storytelling-advisor/SKILL.md
categories/creative-personal-development/time-blocking-scheduler/SKILL.md
categories/data/data-pipeline/SKILL.md
categories/design/accessibility/SKILL.md
categories/design/ui-design-system/SKILL.md
categories/development/api-documentation/SKILL.md
categories/development/architecture-decision-records/SKILL.md
categories/development/clean-code/SKILL.md
categories/development/code-review/SKILL.md

Metadata

Files
0
Version
4c57cf2
Hash
95417500
Indexed
2026-07-05 19:42

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-05 07:42
浙ICP备14020137号-1 $Гость$