← ClaudeAtlas

e2e-testinglisted

Use this skill when writing, modifying, running, or debugging formal e2e test scenarios — the Swift DSL-based automated tests in ClaudeSpyE2ELib. This includes creating new scenario files, adding or changing TestStep sequences, fixing failing scenarios, choosing ElementQuery matchers, registering scenarios in allScenarios, adding accessibility identifiers/hooks for testability, running ./scripts/e2e-test.sh, updating screenshot baselines, or extending the test framework with new step types. Use this skill whenever someone mentions e2e scenarios, test steps, element queries, screenshot baselines, the ScenarioBuilder DSL, or wants to run the automated e2e suite. Do NOT use this skill for ad-hoc manual debugging, taking one-off screenshots, interactively driving the app, or exploratory testing without writing a formal scenario — use e2e-manual-debugging for those instead.
gpambrozio/Gallager · ★ 3 · Testing & QA · score 69
Install: claude install-skill gpambrozio/Gallager
# E2E Test Scenario Development Guide for creating and updating end-to-end test scenarios for the ClaudeSpy distributed system (macOS app, iOS simulator app, in-process Vapor relay server, optional second macOS instance for two-Mac pairing). ## Architecture Overview The E2E test framework lives in `ClaudeSpyPackage/Sources/`: - **ClaudeSpyE2ELib/** - Test framework library (DSL, drivers, orchestrator, scenarios, bundled scripts) - **ClaudeSpyE2E/** - CLI entry point (`ClaudeSpyE2ECommand.swift` — scenario registration) Scenarios are defined declaratively using a `@resultBuilder` DSL and executed sequentially by the `TestOrchestrator`. ## Running E2E scenarios Always use `./scripts/e2e-test.sh` to run scenarios. It builds the apps, launches the orchestrator, and runs the scenario in a clean environment. Common invocations: ```bash # Build everything and run all scenarios ./scripts/e2e-test.sh # Skip build, just run with previously built artifacts ./scripts/e2e-test.sh --skip-build # Run a specific scenario by exact human-readable name ./scripts/e2e-test.sh --scenario "Fresh Pairing" # List available scenarios ./scripts/e2e-test.sh --skip-build --list-scenarios # Take screenshots but skip baseline comparison (one-off) ./scripts/e2e-test.sh --skip-build --no-compare --scenario "My Scenario" # Interactive mode — runs scenario then waits for Enter so you can poke at the apps ./scripts/e2e-test.sh --skip-build --interactive --scenario "My Scenario" ``` Baselines are n