能力参考
这页列出当前版本可以被调用和验证的能力。每一项都说明入口、需要的上下文、可观察输出和关闭失败条件。部署方提供的模型、浏览器和远程 worker 会影响运行时可用性,因此代码里存在类型并不等于当前机器已经具备相应后端。
先读取当前安装的契约
agent schema 返回当前外部规划协议、动作修订、JSON Schema 和会话不变量,不需要启动浏览器。capabilities --json 会探测实际 Web adapter,adapter 版本不兼容、不可执行或启动失败时会返回 test.driver.web.* 错误。调用方应处理这类结果,不能用静态文档替代机器能力发现。
页面里出现的能力分为三种交付状态。
需要从能力表继续进入完整教程时,按下面的主题阅读。
核心会话
持久会话的固定循环是 start -> observe -> act -> observe -> finish。一个动作可能改变 DOM、焦点、路由、视口或浏览器上下文。发生变化后必须重新观察,不能继续使用旧 @eN 或 @cN。
界面执行
页面与交互动作
同步、网络与证据动作
动作协议修订为 15。完整可生成 Schema 以 a3s-test agent schema 输出为准。未知字段、缺少必填字段、非法枚举和 surface 不支持的动作会在执行前拒绝。
实时控件状态断言
Web 断言读取实时 DOM 属性。原生 checkbox 和 radio 的 checked 值优先于矛盾的 ARIA,自定义控件则可以通过合法 ARIA 暴露布尔状态。selected_values = [] 是合法的精确空集合断言。GUI 只有在 CUA 确实提供值时才能比较精确值,其他情况关闭失败;布尔和多选状态目前不支持。TUI 不支持控件状态断言。Page Context ref 会在派发前解析为当前语义目标;standalone ref 无法暴露所需属性时返回驱动错误,不进行猜测。
实时语义状态断言
原生状态优先于矛盾 ARIA。布尔 ARIA 只接受精确的 true 和 false;aria-invalid 还接受 grammar 与 spelling,并映射为 invalid。五个维度彼此独立,每种负向写法都要求解析到唯一目标并得到权威布尔证据。
ACL 以 test.spec.semantic_state_target_unstable 拒绝 browser ref 与 visual point;当前 Page Context ref 可以先解析为稳定定位器。语义定位器穿透开放 Shadow DOM,并排除可访问性隐藏祖先;CSS 保持当前 document 语义。不支持的状态返回 test.driver.web.state_unsupported。GUI 与 TUI 明确关闭失败。所有写法支持有界稳定性;当前检入证据覆盖 1,000/1,000 个确定性 Web 分类、100/100 个持续窗口、100/100 个瞬态窗口,以及 standalone Chromium 中 27 个正向断言和 17 个负向或驱动错误分类。
焦点归属断言
Web 在一次页面求值中解析一个稳定目标,并沿嵌套开放 Shadow DOM 读取最深层 activeElement。扁平树包含关系依次跟随 assigned slot、DOM 父级与 Shadow host。语义定位器穿透开放 Shadow DOM,并排除可访问性隐藏的 composed ancestry,包括隐藏的 slot wrapper。CSS 保持当前 document 查询语义。
ACL 以 test.spec.focus_target_unstable 拒绝 browser ref 与 visual point;当前 Page Context ref 可先解析为稳定定位器。程序化 standalone browser ref 返回 test.driver.web.state_unsupported。GUI 与 TUI 的当前协议没有等价焦点证据,因此明确关闭失败。当前检入证据覆盖 600/600 个确定性 Web 分类、200/200 个持续窗口、200/200 个瞬态窗口,以及 standalone Chromium 中 17 个正向断言和 11 个负向或驱动错误分类,包含正向/反向 Tab、开放 Shadow DOM、assigned slot、定时焦点移动和精确清理。
渲染输出断言
CSS 集合探测使用视觉渲染几何,单独的 aria-hidden 不会让像素消失,因此仍计入。语义定位器还会排除可访问性隐藏祖先,并穿透开放 Shadow DOM。两者都会排除 hidden、display-none、visibility-hidden、完全透明和零几何目标。rendered_texts 的预期与实际集合上限都是 256 项。GUI 支持单目标 rendered_text(优先 CUA value,否则 label)。GUI 与 TUI 对 rendered_texts 与 visible_count 明确关闭失败。
渲染布局断言
17 种关系覆盖四个方向、包含与内部、相交与不相交、六种边缘或中心对齐,以及宽、高、尺寸相同。两个目标都必须是稳定语义或 CSS 定位器;浏览器 ref 与 visual point 在准入阶段失败,当前 Page Context ref 可在派发前解析为稳定定位器。
Web 在一次页面求值中解析两个目标并读取两个矩形。CSS 保留仍有视觉像素的 aria-hidden 元素,语义定位器则排除可访问性隐藏祖先并穿透开放 Shadow DOM。GUI 要求两个 frame 来自同一份新鲜 CUA snapshot。TUI 会关闭失败,因为终端单元格不等价于页面渲染几何。当前检入证据覆盖 3,400/3,400 个确定性案例、100/100 个持续窗口、100/100 个瞬态窗口、全部 17 种关系,以及 standalone Chromium 中 15 个负向或错误分类。
视口覆盖率与指针命中断言
所有断言都要求可重复解析的语义或 CSS 定位器。浏览器 ref 与 visual point 在准入阶段失败,当前 Page Context ref 可以先解析为稳定定位器。覆盖率等于相交面积除以完整目标面积,只证明几何,不声称无遮挡或指针可达。Web 在一次页面求值中原子采集目标、visual viewport 和可选九点命中网格。语义目标与深层命中测试都可穿透开放 Shadow DOM。原生命中测试会把接收指针事件的透明覆盖层视为阻挡,并跳过 pointer-events: none 覆盖层。GUI 与 TUI 的当前协议没有等价证据,因此明确关闭失败。
当前检入证据覆盖 1,000/1,000 个基础 Core 几何案例与 2,000/2,000 个阈值案例、4,000/4,000 个 Web 协议分类、300/300 个持续窗口与 300/300 个瞬态窗口,以及 standalone Chromium 中 37 个通过断言和 25 个负向或驱动错误分类,并完成精确清理。
页面感知与 Test Kit
公开引用的权限保持固定。@eN 来自可访问快照,@cN 来自可唯一操作的 Page Context 节点,两者只在最新观察可操作。在这次观察内部,经过 Rust 校验的 complete delta 可以保留未受影响 @cN 背后的稳定定位器;变化、消失、reset、旧版或任何不确定绑定都会关闭失败。@uN 连接样式、布局、状态和动效证据,永远只读。
人工评审与修复
期望、契约与模型
所有 provider 由部署方注入。A3S Test 不下载权重,不选择推理后端,也不持有 provider 的长期凭据。请求会绑定 provider 和 model 身份、deadline、字节、候选数、费用与使用量限制。
证据、回归与调度
远程请求不能选择 worker executable、应用、后端、凭据或网络策略。这些参数由部署启动配置固定。GUI worker 还需要独占池,避免同一真实桌面被并发会话争用。
当前支持范围
不属于内置能力的事项
- Test Kit 不直接修改业务 DOM、源码或工作区。
- 模型 provider 不拥有浏览器观察、测试 verdict 或修复授权。
- 提交 finding 不自动授予 Git 提交、推送、发布或部署权限。
- PRD 和设计稿不会被转换成伪造的浏览器可访问树。
- 未通过真实平台验证的 GUI 后端不会按发布级支持宣传。
需要开始一条实际流程时,查看从页面探索到稳定回归。接入页面上下文时,查看Web Test Kit。遇到错误时,按故障排查区分产品、测试规范、驱动和运行环境问题。
