E2E 路由
该技能按实际界面类型与明确的浏览器/设备要求选择验证路线,并复用项目既有的运行器与测试夹具。若缺少运行时或连接能力,先识别所需能力,再进行配置。
提供的流程图描述了各界面类型的路由关系:
- 界面为 Web UI 时,走“已有浏览器 E2E”。若需要录制证明,则进入“Product Walkthrough: recorded E2E”;若要求制作的网页视频,则进入“Product Walkthrough: video delivery”。
- 界面为 Flutter + Riverpod 时,进入“Building Flutter Apps”;若为其他 Flutter 场景,则使用“已有 Flutter 集成 + 设备工具”。上述两种 Flutter 路线在需要录制证明时,均指向 references/flutter.md。
- 界面为原生 / React Native / 桌面端时,使用“平台 + 设备运行器”。
- 界面为 API / worker / CLI / 纯 Dart 时,走“真实请求 / 事件 / 命令边界”。
流程图中各节点附有链接:
- V 与 D 指向 ../product-walkthrough-video/SKILL.md
- F 指向 ../building-flutter-apps/SKILL.md
- G 指向 references/flutter.md
操作系统自有对话框属于应用树之外的平台控制。浏览器探索需要在既有测试中形成持久的回归用例。API/CLI 旅程仅当旅程中包含 UI 运行时才需要 UI 运行时。
证明旅程
建立所要求的行为、环境/构建、参与者、权限与起始数据。使用稳定的语义选择器与可观察的状态等待,执行真实用户路径。
选择最小的用例集合,覆盖变更的行为与有意义的失败情况。共享状态需要独立的写入者/观察者证明;持久化变更需要从数据源读取回验证。当需求依赖被拒绝/撤销的访问、重试或重新启动时,需要覆盖这些情况。
使用既有夹具与清理机制,保持用例隔离且可重复。不得用模拟、直接 API 变更或仅测试用的捷径替代所要证明的交互。
断言可见结果及相关持久化效果。仅有一次完成的点击、成功的请求、干净的日志或零退出码是不够的。需要调查意外的应用/原生/网络错误,以及仅间歇性通过的重试。
失败时,保留复现步骤与有用证据;区分产品、夹具、运行器与捕获缺陷。在获得修复授权后,修正责任方,重跑原始用例及受影响的下游用例,并在既有测试套件中保留有意义的回归用例。完成条件是修正后的旅程与受影响的检查全部通过;否则报告确切阻塞点与剩余验证缺口。重试或更弱的断言不能解决缺陷。
用户报告的缺陷会重新打开受影响旅程的验证。需要复现它,加强或复查遗漏该缺陷的断言,并重复修复/重测循环;此前的通过证据不能关闭新的报告。
视觉证明与完成
捕获最小可用证据集。普通回归工作不需要视频。当请求或需要截图或视频时,检查实际交付的媒体,确认其主题、所需步骤与最终状态。
录制证明遵循所选路线的归属方;后端读取回验证与可重复的旅程断言仍属于本技能范围,仅媒体检查不能证明验收。不属于任何既有管线的捕获,使用既有产物 + 直接检查;不要虚构一份兼容报告。
产物中不得包含密钥与个人数据。向用户展示所要求的证据;除非获得授权将其作为仓库资产,否则测试产物应视为本地文件。
分别报告已测试界面、结果与确切缺口。断言、持久化状态、部署身份与视觉证据证明的是不同方面。不可用的设备、账号或未经审查的产物仍属未验证。