用途:为 Umbraco 后台(backoffice)扩展编写端到端测试,针对真实运行的 Umbraco 实例验证完整用户工作流,覆盖数据持久化、认证授权、发布前验收与真实 API 集成等场景。
主要能力:核心 Umbraco 操作使用 @umbraco-cms/acceptance-test-helpers(处理认证、导航、核心实体 CRUD,并适配 data-mark 选择器与 STORAGE_STAGE_PATH 令牌管理);测试数据用 @umbraco/json-models-builders 构造合法实体;自定义扩展元素则通过 umbracoUi.page 使用原生 Playwright 定位。提供 umbracoApi(API 辅助,如 documentType、document、dataType 的创建与清理)与 umbracoUi(UI 辅助,如 goToBackOffice、goToSection、内容创建与发布)两类夹具,并含 ConstantHelper 常量。
使用方式:在 package.json 添加 @playwright/test、@umbraco-cms/acceptance-test-helpers、@umbraco/json-models-builders、dotenv 依赖,执行 npm install 与 npx playwright install chromium;testhelpers 版本需与 Umbraco 版本匹配(18.x 对应 ^18.0.0)。配置 playwright.config.ts 时须设置 testIdAttribute 为 'data-mark'、STORAGE_STAGE_PATH 指向 user.json、ignoreHTTPSErrors 为 true;通过 auth.setup.ts 完成登录并保存 storageState;环境变量含 UMBRACO_URL、UMBRACO_USER_LOGIN、UMBRACO_USER_PASSWORD,可选 UMBRACO_DATA_PATH。测试遵循 Arrange-Act-Assert 模式,并在 afterEach 中做幂等清理。
限制:资料未提供收费、价格与效果数据;自定义树需处理异步加载与滚动,内置树选择器可能冲突;持久化数据扩展需 globalSetup 重置数据。