Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aj-geddes avatar

E2e Testing Automation

  • 630 installs
  • 305 repo stars
  • Updated March 4, 2026
  • aj-geddes/useful-ai-prompts

e2e-testing-automation is a Claude Code skill that generates and maintains reliable Cypress end-to-end test suites verifying critical user flows for web applications.

About

e2e-testing-automation is a testing skill that scaffolds Cypress end-to-end specs for web applications. It produces cypress/e2e test files with describe and it blocks, cy.visit navigation, data-cy and name attribute selectors, form filling, URL assertions, and repeatable user-flow coverage such as registration and authentication. Developers reach for e2e-testing-automation when they need automated browser tests for signup, login, checkout, or other multi-step UI paths without hand-writing every cy.get interaction. The skill emphasizes reliable selectors, beforeEach setup, and flow verification patterns suitable for CI pipelines running Cypress against staging or production-like environments.

  • Generates complete Cypress E2E test files for authentication, registration, validation, and dashboard flows
  • Includes realistic form handling, API verification, timestamped test data, and error-state assertions
  • Uses beforeEach hooks, cy.request for backend validation, and clear success criteria
  • Produces production-grade test patterns that catch UI regressions and backend integration issues

E2e Testing Automation by the numbers

  • 630 all-time installs (skills.sh)
  • Ranked #586 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill e2e-testing-automation

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs630
repo stars305
Security audit3 / 3 scanners passed
Last updatedMarch 4, 2026
Repositoryaj-geddes/useful-ai-prompts

How do you write Cypress e2e tests for user flows?

Generate and maintain reliable Cypress end-to-end test suites that verify critical user flows automatically.

Who is it for?

Web developers adding or expanding Cypress coverage for authentication, registration, and other critical browser-based user journeys.

Skip if: Teams using Playwright or Vitest component tests only, or projects without a Cypress test runner configured.

When should I use this skill?

The user asks to create, extend, or fix Cypress end-to-end tests for signup, login, checkout, or multi-step UI flows.

What you get

Cypress .cy.js spec files with describe blocks, cy.visit setup, form interactions, and URL or state assertions.

  • cypress/e2e test spec files
  • authentication and registration flow tests

Files

SKILL.mdMarkdownGitHub ↗

E2E Testing Automation

Table of Contents

Overview

End-to-end (E2E) testing validates complete user workflows from the UI through all backend systems, ensuring the entire application stack works together correctly from a user's perspective. E2E tests simulate real user interactions with browsers, handling authentication, navigation, form submissions, and validating results.

When to Use

  • Testing critical user journeys (signup, checkout, login)
  • Validating multi-step workflows
  • Testing across different browsers and devices
  • Regression testing for UI changes
  • Verifying frontend-backend integration
  • Testing with real user interactions (clicks, typing, scrolling)
  • Smoke testing deployments

Quick Start

Minimal working example:

// tests/e2e/checkout.spec.ts
import { test, expect, Page } from "@playwright/test";

test.describe("E-commerce Checkout Flow", () => {
  let page: Page;

  test.beforeEach(async ({ page: p }) => {
    page = p;
    await page.goto("/");
  });

  test("complete checkout flow as guest user", async () => {
    // 1. Browse and add product to cart
    await page.click("text=Shop Now");
    await page.click('[data-testid="product-1"]');
    await expect(page.locator("h1")).toContainText("Product Name");

    await page.click('button:has-text("Add to Cart")');
    await expect(page.locator(".cart-count")).toHaveText("1");

    // 2. Go to cart and proceed to checkout
    await page.click('[data-testid="cart-icon"]');
    await expect(page.locator(".cart-item")).toHaveCount(1);
    await page.click("text=Proceed to Checkout");

// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Playwright E2E TestsPlaywright E2E Tests
Cypress E2E TestsCypress E2E Tests
Selenium with Python (pytest)Selenium with Python (pytest)
Page Object Model PatternPage Object Model Pattern

Best Practices

✅ DO

  • Use data-testid attributes for stable selectors
  • Implement Page Object Model for maintainability
  • Test critical user journeys thoroughly
  • Run tests in multiple browsers (cross-browser testing)
  • Use explicit waits instead of sleep/timeouts
  • Clean up test data after each test
  • Take screenshots on failures
  • Parallelize test execution where possible

❌ DON'T

  • Use brittle CSS selectors (like nth-child)
  • Test every possible UI combination (focus on critical paths)
  • Share state between tests
  • Use fixed delays (sleep/timeout)
  • Ignore flaky tests
  • Run E2E tests for unit-level testing
  • Test third-party UI components in detail
  • Skip mobile/responsive testing

Related skills

How it compares

Choose e2e-testing-automation over unit-test skills when the goal is full-browser Cypress coverage of multi-page user journeys rather than isolated function tests.

FAQ

What test runner does e2e-testing-automation use?

e2e-testing-automation targets Cypress end-to-end tests stored under cypress/e2e as .cy.js files. Specs use cy.visit, cy.get, cy.type, cy.click, and cy.url().should for flow verification.

Which selectors does the Cypress skill recommend?

e2e-testing-automation favors stable selectors such as data-cy attributes and HTML name fields over brittle CSS paths. Example patterns include cy.get('[data-cy="signup-button"]') and cy.get('[name="email"]') for form fields.

Is E2e Testing Automation safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.