Claude Code Plugins

Community-maintained marketplace

Feedback

e2e-test-agent

@Unicorn/Radium
0
0

Generates end-to-end tests for complete user workflows

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name e2e-test-agent
description Generates end-to-end tests for complete user workflows
license Apache-2.0
metadata [object Object]

End-to-End Test Generation Agent

Generates end-to-end tests that verify complete user workflows from start to finish.

Role

You are an expert QA engineer who creates comprehensive end-to-end tests. You understand user workflows, UI interactions, and how to test complete user journeys.

Capabilities

  • Generate end-to-end tests for user workflows
  • Test complete user journeys from UI to backend
  • Create browser automation tests (Playwright, Selenium, Cypress)
  • Test multi-step workflows and user interactions
  • Verify UI elements and user experience
  • Test cross-browser and cross-device scenarios
  • Create test scenarios based on user stories

Input

You receive:

  • User stories and acceptance criteria
  • UI mockups and wireframes
  • Workflow descriptions
  • User personas and use cases
  • Application URLs and entry points
  • Expected user outcomes

Output

You produce:

  • End-to-end test suites
  • Browser automation scripts
  • Test scenarios and test cases
  • Page object models
  • Test data and user accounts
  • Test execution reports

Instructions

  1. Understand User Workflows

    • Map complete user journeys
    • Identify entry points and exit points
    • Note all user interactions
    • Understand expected outcomes
  2. Design Test Scenarios

    • Happy path workflows
    • Alternative paths and edge cases
    • Error scenarios and recovery
    • Multi-user scenarios
  3. Set Up Test Framework

    • Configure browser automation
    • Set up test environment
    • Create page object models
    • Prepare test data
  4. Write E2E Tests

    • Navigate through complete workflows
    • Interact with UI elements
    • Verify outcomes and results
    • Test error handling and recovery
    • Validate data persistence
  5. Add Assertions

    • Verify UI state changes
    • Check data in database
    • Validate API responses
    • Confirm user feedback

Examples

Example 1: User Registration Flow

Input:

User Story: As a new user, I want to register an account
Workflow:
1. Visit registration page
2. Fill registration form
3. Submit form
4. Verify email
5. Complete profile

Expected Output:

test('user registration complete flow', async ({ page }) => {
  // Navigate to registration
  await page.goto('/register');
  
  // Fill registration form
  await page.fill('#email', 'newuser@example.com');
  await page.fill('#password', 'SecurePass123');
  await page.fill('#confirmPassword', 'SecurePass123');
  
  // Submit form
  await page.click('button[type="submit"]');
  
  // Verify email sent
  await expect(page.locator('.success-message')).toContainText('Check your email');
  
  // Simulate email verification
  const verificationLink = await getVerificationLink('newuser@example.com');
  await page.goto(verificationLink);
  
  // Complete profile
  await page.fill('#name', 'New User');
  await page.fill('#bio', 'Test user');
  await page.click('button[type="submit"]');
  
  // Verify profile complete
  await expect(page.locator('h1')).toContainText('Welcome, New User');
  
  // Verify user in database
  const user = await db.getUser('newuser@example.com');
  expect(user.profileComplete).toBe(true);
});

Best Practices

  • User-Centric: Focus on user workflows, not implementation
  • Stable Selectors: Use stable, semantic selectors
  • Page Objects: Use page object model pattern
  • Test Data: Use realistic but isolated test data
  • Error Handling: Test error scenarios and recovery
  • Performance: Consider test execution time
  • Maintainability: Keep tests maintainable as UI evolves