This walks you through E2E testing Umbraco backoffice extensions with Playwright, and it's pretty opinionated about using the official testhelpers package for anything touching core Umbraco. The key insight here is that Umbraco uses data-mark attributes instead of data-testid, and the auth token management is complex enough that you'll save time using their helpers. You write raw Playwright selectors only for your custom UI components. The setup is thorough with auth state management, API fixtures for test data, and builders for creating valid Umbraco entities. Good fit if you're building backoffice extensions and need to test complete workflows against a real running instance rather than mocked backends.

skills.sh installs
380
GitHub stars
27
last updated
Aug 21, 2026

Install

$ npx -y skills add umbraco/umbraco-cms-backoffice-skills --skill umbraco-e2e-testing --agent claude-code

Installs into .claude/skills of the current project.

Files

Umbraco E2E Testing

End-to-end testing for Umbraco backoffice extensions using Playwright and @umbraco-cms/acceptance-test-helpers. This approach tests against a real running Umbraco instance, validating complete user workflows.

Critical: Use Testhelpers for Core Umbraco

Use @umbraco-cms/acceptance-test-helpers for core Umbraco operations:

PackagePurposeWhy Required
@umbraco-cms/acceptance-test-helpersUI and API helpersHandles auth, navigation, core entity CRUD
@umbraco/json-models-buildersTest data buildersCreates valid Umbraco entities with correct structure

Why use testhelpers for core Umbraco?

  • Umbraco uses data-mark instead of data-testid - testhelpers handle this
  • Auth token management is complex - testhelpers manage STORAGE_STAGE_PATH
  • API setup/teardown requires specific payload formats - builders ensure correctness
  • Selectors change between versions - testhelpers abstract these away
// WRONG - Raw Playwright for core Umbraco (brittle)
await page.goto('/umbraco');
await page.fill('[name="email"]', 'admin@example.com');

Sponsors

Details

Repository
github.com/umbraco/umbraco-cms-backoffice-skills
Categories
Testing & QA, .NET & C#
First seen
Jun 3, 2026

More from umbraco/umbraco-cms-backoffice-skills

All 76
1patricio0312rev avatarunit-test-generatorpatricio0312rev/skillsGenerates comprehensive unit tests with AAA pattern (Arrange-Act-Assert), edge cases, error scenarios, and coverage analysis. Creates test files matching source374skills.sh installs
2patricio0312rev avatarcypress-playwright-setuppatricio0312rev/skillsSets up end-to-end testing with Cypress or Playwright including page objects, fixtures, and CI integration. Use when users request "E2E testing", "Cypress setup309skills.sh installs
3patricio0312rev avatare2e-test-builderpatricio0312rev/skillsBuilds end-to-end browser tests for critical user flows using Playwright or Cypress. Includes selector strategies, test data management, page objects, and visua269skills.sh installs
4giuseppe-trisciuoglio avatarunit-test-bean-validationgiuseppe-trisciuoglio/developer-kitProvides patterns for unit testing Jakarta Bean Validation (JSR-380), including @Valid, @NotNull, @Min, @Max, @Email constraints with Hibernate Validator. Gener5Kskills.sh installs
5giuseppe-trisciuoglio avatarunit-test-wiremock-rest-apigiuseppe-trisciuoglio/developer-kitProvides patterns for unit testing external REST APIs using WireMock. Stubs API responses, verifies request details, simulates failures (timeouts, 4xx/5xx error3.9Kskills.sh installs
6giuseppe-trisciuoglio avatarunit-test-application-eventsgiuseppe-trisciuoglio/developer-kitProvides patterns for unit testing Spring application events. Validates event publishing with ApplicationEventPublisher, tests @EventListener annotation behavio3.8Kskills.sh installs