ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

agent.act与agent.assert的区别:e2e智能体测试框架四步操作完全指南

agent.act与agent.assert的区别:e2e智能体测试框架四步操作完全指南 agent.act与agent.assert的区别e2e智能体测试框架四步操作完全指南【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2e如果你正在使用 e2e 这个开源 AI 端到端测试框架一定会频繁遇到两个智能体方法agent.act和agent.assert。本文用大白话讲清它们的本质区别——act 是智能体的双手负责动手操作应用assert 是智能体的眼睛只负责检查屏幕并同时详解waitFor、extract两个兄弟方法帮你在 Web 与移动端 e2e 测试中快速上手 AI 智能体驱动。一张表看懂 e2e 智能体的四个方法 e2e 框架的智能体agent把一次测试拆成了四种步骤每种方法各司其职方法一句话定位会操作应用吗默认超时模型调用预算agent.act给一句目标智能体自己规划并执行多步操作✅ 是120 秒25 次agent.assert判断当前屏幕是否满足某个条件❌ 否30 秒2 次agent.waitFor持续观察直到条件变为真❌ 否30 秒25 次agent.extract按结构从屏幕读取数据❌ 否30 秒2 次 记住一个核心心智模型act 负责改变世界assert 负责确认现实。两者配合就能写出既稳健又少维护的智能体测试。官方对智能体步骤机制的完整说明见 docs/agent-steps.mdx方法签名与预算细节见 docs/reference/agent.mdx。agent.act 详解让智能体自己想办法点完 ✋act是智能体最强大的方法。你只给它一句自然语言目标例如邀请某用户为编辑或完成登录它会自己循环做三件事看屏幕读取当前界面的语义快照角色、名称、文本、状态密码框会被打码密钥值会被替换为占位符做动作从工具箱里挑选tap、type、select、scroll、navigate等动作逐步执行每一步都会检查屏幕变化下结论当它认为目标达成返回一份ActResult包含这一步的摘要summary、花费的模型调用次数和动作数。它的安全边界值得新手放心单步最多执行 25 个动作可配置、最多 25 次模型调用120 秒内必须结束连续 3 次动作失败会要求模型换思路连续 5 次失败则强制给出结论彻底卡死时抛出带明确错误码的AgentError。上面的界面来自官方 Next.js 示例应用。在 examples/with-next/tests/agent.e2e.ts 里一行指令agent.act(get the app to greet {name})就足以让智能体自己找到输入框、填入名字、点击 GREET 按钮——无需手写任何定位选择器。agent.assert 详解一次新鲜视角的独立审查 assert与act是完全不同的物种它的关键特性有三点只看不做它拿一次全新的屏幕观察结果做判断绝不动手操作应用也绝不轮询重试独立裁判裁判模型只能看到你的断言文本和当前屏幕看不到之前 act 干了什么——这就避免了演员给自己打分的偏颇三种结论holds成立测试继续、fails不成立抛出ASSERTION_FAILED、inconclusive屏幕上证据不足抛出ASSERTION_INCONCLUSIVE。失败时还会附上解释和可选的截图证据。它还支持vision选项设为true时裁判能同时看到打码截图设为only时纯靠截图判断——适合检查图表是否画对、遮罩层是否盖住表单这类纯视觉问题。新手最容易踩的坑act 成功 ≠ 断言该省略 ⚠️很多新手觉得act 都返回成功了何必再 assert 官方示例恰恰把两者配对使用await agent.act(press Greet without typing a name); await agent.assert(the app asks for a name);原因很实际act 的成功是模型自报的结论而 assert 是另一次独立观察。更推荐的组合是act 之后加一条不依赖模型的expect精确断言再辅以 agent.assert 做语义兜底三层保险覆盖绝大多数回归场景。waitFor 与 extract补齐四件套的最后两块 agent.waitFor像 assert 一样判断但支持轮询。它只在屏幕发生变化时才重新调用模型判断屏幕不变时零模型开销非常适合等待上传完成等待加载结束这类异步场景agent.extract传入一个 schema智能体从屏幕读出结构化数据并做校验返回。数据不在屏幕上时会明确报告证据不足而不是偷偷返回空字符串保证你拿到的值可靠。源码实现分别位于 packages/e2e/src/agent/ 目录步骤执行循环在 executor.tsact 的校验逻辑在 act.ts想深入机制的同学可以从这里读起。快速上手三步跑通第一个智能体测试 克隆仓库git clone https://gitcode.com/GitHub_Trending/e2e6/e2e进入 examples/with-next/ 目录阅读 e2e.config.ts——它演示了如何配置模型、系统提示词与本地应用启动命令设置AI_GATEWAY_API_KEY环境变量后运行测试观察 tests/agent.e2e.ts 中 act 与 assert 的完整协作过程。同样的智能体测试在 Vite 示例 examples/with-vite/ 中同样适用说明 e2e 的智能体 API 与底层框架解耦切换项目时测试代码几乎不用改。常见问题速答 ❓Q什么时候该用 expect 而不是 agent.assert需要精确匹配文本、属性时优先用expect它零模型开销、结果确定assert 适合语气、布局、语义这类模糊判断。Q智能体看不到密码吗看不到。密钥参数只会以名称 用途呈现给模型真实值由运行器直接填入绝不进入提示词、报告或 AI 追踪记录详见 docs/security.mdx。Q一个 act 步骤最多能做什么默认 25 个动作、25 次模型调用、120 秒超时可在 docs/reference/config.mdx 的agents.name配置中调整上限。一句话总结act让 AI 动手assert让 AI 动眼配合waitFor等待异步、extract提取数据e2e 框架的智能体四步操作就能覆盖从登录到结算的完整业务流程让你用自然语言维护整套端到端测试。【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2e创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表