跳到正文
cccskills
免费在 GitHub 公开

appbuilder-e2e-testing

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.

中文简介正在准备中。当前显示原文说明。

集成工具GitHubPlaywright
查看安装方法

包含的文件(8)

  • SKILL.md7.2 KB
  • assets/e2e-ci-workflow.yml1.3 KB
  • assets/e2e-test-template.spec.ts2.6 KB
  • assets/playwright.config.ts1.2 KB
  • evals/evals.json4.8 KB
  • references/aem-extension-testing.md8.3 KB
  • references/ci-integration.md5.2 KB
  • references/e2e-testing-patterns.md8.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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 wantsReferenceAsset
E2E test for ExC Shell SPAreferences/e2e-testing-patterns.mdassets/playwright.config.ts, assets/e2e-test-template.spec.ts
Test AEM extension in browserreferences/aem-extension-testing.mdassets/playwright.config.ts
E2E tests in CI pipelinereferences/ci-integration.mdassets/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)

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have the worst leakage. Use this skill when someone describes a journey and asks about conversion rates, drop-off, fallout, or step completion. Trigger for "analyze our checkout funnel," "where are visitors dropping off," "what's our add-to-cart to purchase conversion rate," "funnel analysis," "show me fallout between steps," or "which step loses the most visitors."

中文简介正在准备中。当前显示原文说明。

aemgdc/aemdev22026年10月18日 更新

Generates a concise, executive-ready performance summary covering key metrics, trends, and what's driving movement. Use this skill when someone needs to produce a briefing, executive summary, performance narrative, or stakeholder readout — for example, "write an exec summary of last week's performance," "create a performance briefing for our leadership team," "produce a monthly business review summary," "what should I tell executives about our metrics," or "generate a performance narrative." Also trigger for "QBR summary," "weekly business review," or "stakeholder briefing."

中文简介正在准备中。当前显示原文说明。

aemgdc/aemdev22026年10月18日 更新

Produces a compact KPI digest showing how key metrics changed over a period and what's driving the movement. Use this skill when someone asks for a performance summary, a weekly recap, a morning briefing, a KPI update, or any variation of "how did we do this week/month." Also trigger for "give me a performance overview," "what moved in the last 7 days," "pull our AA KPI report," or "summarize our metrics."

中文简介正在准备中。当前显示原文说明。

aemgdc/aemdev22026年10月18日 更新

Compares the performance of two or more audience segments across key metrics side by side. Use this skill when someone wants to compare audiences or visitor groups — for example, "how do mobile visitors compare to desktop on conversion," "compare new vs. returning visitors," "show me the difference between these two segments," "compare these audiences on our KPIs," or "which segment performs better." Also trigger for "segment comparison" or "audience comparison."

中文简介正在准备中。当前显示原文说明。

aemgdc/aemdev22026年10月18日 更新

Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric between two time periods. Use this skill when someone asks "what's up and what's down," "which campaigns moved the most," "top gainers and losers," "what pages are trending," "show me what changed by channel," or any variation of identifying the biggest movers and decliners for a metric.

中文简介正在准备中。当前显示原文说明。

aemgdc/aemdev22026年10月18日 更新

Scan an AEM Edge Delivery Services page for WCAG 2.1 AA accessibility violations and generate specific fixes. Identifies missing alt text, heading hierarchy issues, link text problems, color contrast concerns, and EDS-specific accessibility patterns. Use when fixing accessibility issues, preparing for compliance audits, or remediating WCAG violations.

中文简介正在准备中。当前显示原文说明。

aemgdc/aemdev22026年10月18日 更新

查看 aemgdc 的全部技能

报告此技能的问题