TesterArmy e2e
TesterArmy e2e 的结构:观察、操作、断言、录制
追踪语义步骤与普通断言在 runner 中如何汇合
TesterArmy e2e 的结构:观察、操作、断言、录制知识学习CN编辑简报更新 2026-10-14
你将学会
- 分清各层
- 跟随动作决策
- 把回放放在验收之后
开始前需要
- 可丢弃的应用或测试账号
- Web 或移动引擎
- 明确选择的 Agent 模型供应商
两次运行后再修改 UI,检验缓存动作的边界
先看结论
- runner 与引擎分工不同。
- 适应性和定位器检查各有作用。
- 回放需要有效终态检查。
分清各层
runner 选目标和引擎,打开应用并执行测试。引擎提供界面观察与可用动作;Agent 执行器在适应性步骤中根据观察决定下一步。
`agent.act` 和 `agent.assert` 不等同于定位器断言。前两者可请求模型行动或判断,后者通过测试 API 检查指定元素。
跟随动作决策
固定版本 `act.ts` 和执行器展示了观察、工具选择、动作与结束判断的路径。decision-model 包另提供有边界的语义决策方式和门槛。
模型声称任务完成,未必足以证明业务结果。若界面有稳定的 DOM 或原生无障碍元素,就应给适应性动作配一条明确断言。
把回放放在验收之后
当步骤有合适的终态验证,录制器才保存可回放动作;`replay.ts` 在同一步骤限制下重放,并检查当前界面。
目标移动或终态不成立时,回放前缀会停止。设计上避免把旧坐标当作新界面已通过的证明,但可靠性仍需真实运行检验。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
确认目标、引擎和测试 fixture。
- 2
分别追踪观察、动作与断言。
- 3
检查轨迹为何保存或被拒绝。
可复制示例
text
runner -> target engine -> observation
observation -> agent action -> app
app -> assertion -> trace recorder
next run -> conditional replay -> end-state check常见问题
测试结果总由模型决定吗?
不是,测试可用明确定位器断言,入门首例也不需要模型。
回放只会盲点旧坐标吗?
固定源码包含目标重新定位、步骤限制与终态核验。
资料来源
- TesterArmy e2e / docs/quickstart.mdx来源核查 2026-10-14
- TesterArmy e2e / docs/reference/runner.mdx来源核查 2026-10-14
- TesterArmy e2e / docs/reference/engine.mdx来源核查 2026-10-14
- TesterArmy e2e / packages/e2e/src/agent/act.ts来源核查 2026-10-14
- TesterArmy e2e / packages/e2e/src/agent/executor.ts来源核查 2026-10-14
- TesterArmy e2e / packages/e2e/src/agent/replay.ts来源核查 2026-10-14
- TesterArmy e2e / packages/e2e/src/cache/recorder.ts来源核查 2026-10-14
- TesterArmy e2e / packages/e2e/src/run/runner.ts来源核查 2026-10-14