用途:在 Kibana 中编写、维护、调试和审查 Scout UI 测试,基于 Playwright 与 Scout fixtures。
主要能力与约定:区分顺序 UI(test/scout*/ui/tests//*.spec.ts)与并行 UI(parallel_tests//*.spec.ts,推荐 spaceTest + scoutSpace 实现每 worker 一个 Kibana space)。按模块根选用 Scout 包:src/platform 或 x-pack/platform 用 @kbn/scout,observability 用 @kbn/scout-oblt,search 用 @kbn/scout-search,security 用 @kbn/scout-security。断言从 /ui 子路径导入 expect,主入口不导出。测试必须带受支持标签,标题中禁止 @ 加单词字符。UI 操作放页面对象,断言留在 spec;setup/teardown 优先用 API。认证用 browserAuth,优先最小权限。页面对象用 testSubj/role 定位,属性等待用 .and() 组合加 waitFor,不用 expect;路由 mock 放 fixtures/mocks.ts。避免 .first()/.nth()/.last(),不写 eslint-disable。并行测试用 spaceTest,global.setup.ts 预置共享 ES 数据,afterAll 清理 space 级变更。可用 test.step() 组织多步流程。等待避免 waitForTimeout,轮询读取而非动作。可选 page.checkA11y()。
运行与调试:node scripts/scout run-tests --arch stateful --domain classic --config <module-root>/test/scout*/ui/playwright.config.ts,或 --testFiles 指定文件;两者互斥。可先 node scripts/scout start-server 再直接跑 Playwright。调试用 SCOUT_LOG_LEVEL=debug 或 --ui。CI 仅对 .buildkite/scout_ci_config.yml 中启用的模块运行,node scripts/scout generate 可注册模块。
限制:资料未提供收费、价格、平台支持范围等信息。