К основному содержанию
скилл CX Codex

appbuilder-e2e-testing — скилл для Claude Code: запуск E2E-тестов

Скилл настраивает браузерные E2E-тесты на Playwright для приложений Adobe App Builder и расширений AEM. Пригодится для проверки SPA внутри ExC Shell и сборки сценариев в CI.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add adobe/skills --skill appbuilder-e2e-testing -a claude-code
Открыть на GitHub

Что делает appbuilder-e2e-testing

Скилл создаёт конфигурацию playwright.config.ts и генерирует сквозные тесты в папке e2e/. При необходимости он также собирает рабочий процесс для GitHub Actions. Плагин распознаёт структуру проекта по каталогу web-src/ или пакету @adobe/uix-guest в зависимостях. Сценарии пишутся строго под браузер. Для модульного тестирования экшенов или React-компонентов на Jest авторы рекомендуют использовать отдельный скилл appbuilder-testing.

В генератор заложены шаблоны работы со спецификой Adobe: переключение во фреймы ExC Shell через page.frameLocator(), перехват сетевых вызовов через page.route() и поиск элементов по ARIA-ролям Spectrum. Полная авторизация в ExC Shell сложна в автоматизации, поэтому скилл ориентирован на проверку против локального окружения aio app dev. Для запуска тестов требуются Node.js 18+ и пакет @playwright/test.

Какие задачи решает

  • настроить конфигурацию Playwright для SPA внутри Adobe Experience Cloud Shell
  • протестировать UI-расширения AEM с учётом вложенных iframe
  • сымитировать ответы бэкенда через page.route() для стабильных прогонов
  • подготовить пайплайн GitHub Actions для браузерных тестов в CI

Примеры запросов агенту

  • Добавь E2E-тесты на Playwright для нашего SPA в ExC Shell
  • Напиши браузерные тесты для UI расширения AEM и настрой GitHub Actions
  • Сделай сквозной тест сценария с заглушками бэкенда через page.route

Как установить appbuilder-e2e-testing

1Через Skills CLI (Vercel)

npx skills add adobe/skills --skill appbuilder-e2e-testing -a claude-code

2Вручную: положить файлы

~/.claude/skills/appbuilder-e2e-testing/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/appbuilder-e2e-testing/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о appbuilder-e2e-testing

Как установить appbuilder-e2e-testing в Claude Code?

Выполните команду npx skills add adobe/skills --skill appbuilder-e2e-testing -a claude-code. Файл навыка сохранится по пути ~/.claude/skills/appbuilder-e2e-testing/SKILL.md.

Чем appbuilder-e2e-testing отличается от appbuilder-testing?

Этот скилл создаёт только браузерные E2E-тесты на Playwright. Для проверки логики бэкенд-экшенов и React-компонентов с помощью Jest используйте скилл appbuilder-testing.

Что нужно установить перед запуском тестов?

Потребуются Node.js 18+ и пакет Playwright с Chromium, которые устанавливаются командой npm install -D @playwright/test && npx playwright install chromium.

Исходный текст

SKILL.md · Apache-2.0
---
name: appbuilder-e2e-testing
description: >-
  Use this skill whenever the user wants browser-based end-to-end tests for an Adobe App Builder
  application. Covers Playwright E2E testing for ExC Shell SPAs, AEM extension UIs, and full-stack
  flows. Use when the user mentions: "E2E test", "end-to-end test", "Playwright", "browser test",
  "test my SPA in the browser", "test my AEM extension", "test the full flow", "integration test
  with UI", "headless browser test", "E2E in CI".
  This skill is for BROWSER-based testing only. For Jest unit tests of actions or React components,
  use appbuilder-testing instead.
metadata:
  category: e2e-testing
license: Apache-2.0
compatibility: Requires Node.js 18+, Playwright
allowed-tools: Bash(npx:*) Bash(npm:*) Bash(node:*) Bash(aio:*) Read Write Edit
---
# App Builder E2E Testing

Playwright-based browser E2E testing for Adobe App Builder SPAs and AEM extensions. This skill generates Playwright configs, test files, and CI workflows for browser-level validation.

## Pattern Quick-Reference

Identify the user's intent, then read the referenced sections to generate tailored tests.

| User wants | Reference | Asset |
| --- | --- | --- |
| E2E test for ExC Shell SPA | `references/e2e-testing-patterns.md` | `assets/playwright.config.ts`, `assets/e2e-test-template.spec.ts` |
| Test AEM extension in browser | `references/aem-extension-testing.md` | `assets/playwright.config.ts` |
| E2E tests in CI pipeline | `references/ci-integration.md` | `assets/e2e-ci-workflow.yml` |

## Fast Path (for clear requests)

When the user says "add E2E tests" or "write Playwright tests" and intent is clear:

1. Scan project for `web-src/` (SPA) or `@adobe/uix-guest` in dependencies (AEM extension)
2. Install Playwright if not present: `npm install -D @playwright/test && npx playwright install chromium`
3. Generate `playwright.config.ts` from `assets/playwright.config.ts`
4. For ExC Shell SPA: read `references/e2e-testing-patterns.md`, generate test with iframe navigation, shell wait, Spectrum ARIA selectors
5. For AEM extension: read `references/aem-extension-testing.md`, generate test with Extension Tester URL, nested iframe handling, modal flows
6. Run tests: `npx playwright test`
7. If CI requested: generate GitHub Actions workflow from `assets/e2e-ci-workflow.yml`

## Quick Reference

- **Test directory:** `e2e/` at project root (separate from Jest `test/`)
- **Config file:** `playwright.config.ts` at project root
- **Install command:** `npm install -D @playwright/test && npx playwright install chromium` (installs Playwright + Chromium browser)
- **Run command:** `npx playwright test` (headless) or `npx playwright test --headed` (visible browser)
- **Debug command:** `npx playwright test --debug` (step-through mode)
- **Report command:** `npx playwright show-report` (open HTML report)
- **ExC Shell iframe:** Access SPA inside shell via `page.frameLocator('iframe')` — exact selector varies, see `references/e2e-testing-patterns.md`
- **Spectrum selectors:** Use ARIA roles, not CSS classes: `getByRole('button', { name: 'Save' })`, `getByRole('grid')`, `getByRole('textbox')`
- **Auth note:** Full ExC Shell auth automation is complex — recommend testing against `aio app dev` (local) first. See `references/e2e-testing-patterns.md` § Authentication.
- **AEM extensions:** Use Extension Tester URL with `devMode=true`. See `references/aem-extension-testing.md`.

## Full Workflow (for ambiguous or complex requests)

1. **Scan project** — Check for `web-src/` (SPA), `@adobe/uix-guest` (AEM extension), existing test setup, `app.config.yaml` extension type
2. **Confirm scope** — Which pages/flows to test? Local dev or deployed? CI needed?
3. **Install Playwright** — `npm install -D @playwright/test && npx playwright install chromium` if not already installed
4. **Generate config** — Copy and customize `assets/playwright.config.ts` for the project
5. **Generate test files** — Read appropriate reference doc, generate tests matching project structure:
   - ExC Shell SPA → `references/e2e-testing-patterns.md`
   - AEM extension → `references/aem-extension-testing.md`
6. **Add action stubbing** — If tests need deterministic backend responses, add `page.route()` intercepts
7. **Run and iterate** — `npx playwright test`, fix selectors/timing as needed
8. **Add CI workflow** — If requested, read `references/ci-integration.md` and generate workflow from `assets/e2e-ci-workflow.yml`
9. **Validate** — All tests pass, use ARIA selectors, have assertions, no hardcoded waits

## Inputs To Request

- Current repository path and project type (SPA vs AEM extension)
- Which pages or user flows need E2E coverage
- Whether tests should run against local dev or deployed environment
- Whether CI integration is needed

## Deliverables

- `playwright.config.ts` configured for the project
- E2E test files in `e2e/` directory
- GitHub Actions workflow (if CI requested)
- Passing test run output

## Quality Bar

- All tests use ARIA selectors (`getByRole`, `getByLabel`) — no CSS class selectors
- Iframe navigation uses `frameLocator()` — no `frame()` with index
- All tests have `await expect()` assertions — no assertion-free tests
- Action responses are stubbed with `page.route()` for deterministic results
- No hardcoded `page.waitForTimeout()` — use `waitForSelector`, `waitForResponse`, or Playwright auto-waiting
- Tests run in < 60s on local machine

## References

- Use `references/e2e-testing-patterns.md` for Playwright E2E patterns for ExC Shell SPAs (iframe nav, Spectrum selectors, auth, action stubbing).
- Use `references/aem-extension-testing.md` for AEM extension testing patterns (Extension Tester, nested iframes, modal lifecycle, extension points).
- Use `references/ci-integration.md` for running Playwright in GitHub Actions (browser install, artifact upload, headless config).
- Use `assets/playwright.config.ts` as the base Playwright configuration template.
- Use `assets/e2e-ci-workflow.yml` as the GitHub Actions workflow template for E2E tests.

## Common Issues

- **Iframe not found:** The ExC Shell iframe selector varies — use DevTools to inspect. Try `page.frameLocator('iframe[src*="your-app"]')` or discover with `page.frames()`.
- **Shell spinner never dismissed:** Ensure `runtime.done()` is called in the SPA. For E2E, wait for content inside the iframe rather than the shell itself.
- **Spectrum component not clickable:** React Spectrum components render ARIA roles — use `getByRole()` instead of CSS selectors. Check `references/e2e-testing-patterns.md` § Spectrum Selectors.
- **Auth popup blocks test:** Test against local dev (`aio app dev`) which skips shell auth. See auth section in `references/e2e-testing-patterns.md`.
- **AEM extension not loading:** Extension Tester requires IMS login. Use generous timeouts (10s+) for extension load. Check `references/aem-extension-testing.md` § Common Gotchas.
- **Tests flaky in CI:** Add retries (`retries: 1`), use `waitForResponse()` for action calls, and check `references/ci-integration.md` for headless configuration.

## Chaining

- Chains FROM `appbuilder-ui-scaffolder` (after UI components are generated, add E2E tests)
- Chains FROM `appbuilder-testing` (when user wants browser-level validation beyond Jest unit tests)
- Chains TO `appbuilder-cicd-pipeline` (add E2E test job to CI/CD pipeline)

© adobe · Apache-2.0 · adobe/skills

Похожие скиллы

Всё по теме «Тесты и QA» →
e2e-playwright-testing Agent Skills Contributors Скилл для написания и разбора E2E-тестов на Playwright: локаторы, авторизация, формы, ассерты и конфиг для CI. CX Codex +1 796установок e2e-testing-automation aj-geddes Скилл помогает писать end-to-end тесты: браузерные сценарии, проверка пользовательских путей и связки фронтенда с бэкендом. CX Codex +1 689установок playwright-e2e-testing fugazi Скилл для написания и поддержки E2E-тестов на Playwright с TypeScript: пользовательские сценарии, формы, авторизация, моки и визуальные сравнения. CX Codex +1 615установок e2e-testing affaan-m Шаблоны для E2E-тестов на Playwright: настройка Page Object Model, конфигов запуска, изоляция флакующих сценариев и выгрузка артефактов в CI/CD. CX Codex +1 5 100установок e2e-testing-patterns Seth Hobson Скилл помогает проектировать E2E-тесты для критических пользовательских сценариев с Playwright и Cypress. Пригодится при отладке flaky-тестов и настройке стандартов. CX Codex 24 343установок e2e-tests-studio mastra-ai Скилл автоматически генерирует Playwright E2E тесты при изменении компонентов playground. Тестирует не состояние интерфейса, а реальное поведение: сохранение данных, потоки данных, эффекты действий. CX Codex +1 2 500установок

Из того же набора46

migration Скилл для перевода легаси-проекта AEM 6.x, AMS или on-prem на AEM as a Cloud Service: сначала разбор проекта, потом починка одного блокера за сессию. CX Codex +1 918установок content-distribution Скилл для AEM as a Cloud Service: программная публикация контента через Replication API и слежение за событиями доставки. CX Codex +1 851установок aem-cli Помогает запускать и настраивать Adobe AEM CLI для Edge Delivery Services, отлаживать сервер aem up, сертификаты и синхронизацию контента. CX Codex +1 840установок ops Выполняет административные команды в AEM Edge Delivery Services: управляет доступом, публикацией, очисткой кэша и снимками страниц. CX Codex +1 761установок aem-rde Скилл помогает агенту работать с плагином Adobe I/O CLI для AEM Rapid Development Environments: деплой, логи, снапшоты, диагностика. CX Codex +1 729установок appbuilder-ui-scaffolder Генерирует интерфейсы на React Spectrum для Adobe Experience Cloud Shell и расширений AEM. Помогает настроить формы, таблицы данных и модальные окна. CX Codex +1 716установок handover-developer Генерирует техническую документацию для разработчиков проекта на AEM Edge Delivery Services. Анализирует архитектуру кодовой базы и создаёт гайд для онбординга. CX Codex +1 714установок appbuilder-action-scaffolder Разворачивает, настраивает и отлаживает бессерверные действия Adobe Runtime в проектах App Builder. Пригодится для вебхуков, баз данных и фоновых задач. CX Codex +1 713установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой