大模型时代下App自动化测试平台新方案

基于 agent-device 构建一个兼容 Android、iOS 和鸿蒙(HarmonyOS)的移动端 AI 自动化测试平台,是一个非常具有前瞻性的架构选择。agent-device 本身已经解决了最底层的跨平台设备控制与 UI 语义解析(基于无障碍树和 @e 引用),因此,你的平台设计核心应聚焦于上层的 AI Agent 调度、任务管理、上下文记忆以及测试资产的沉淀。

以下是为你设计的详细架构方案:

一、 核心设计理念

1,AI Native 而非 Script Native

摒弃传统的"用例-步骤-断言"脚本模式,采用"目标-探索-验证"的 Agent 行为模式。

2,三层解耦架构

感知层(agent-device负责)、决策层(LLM Agent 负责)、执行与平台层(任务调度与资产管理)独立演进。

3,闭环反馈机制

测试不仅是"跑用例",更是"找 Bug"。平台需要收集截图、日志、性能数据作为证据,反哺给 Agent 进行自我修复。

二、 平台整体架构设计

1. 基础设施与设备管理层 (Device Layer)
  • 设备池管理:通过 agent-device open--platform 建立设备会话(Session)。
  • 鸿蒙专项适配:针对鸿蒙系统,利用 HDC 驱动和 ArkUI Hierarchy 进行 UI 快照。需特别注意处理鸿蒙特有的 uitest uiRecord 卡死问题,平台需增加预检机制,发现 stuck 进程时自动触发 reboot。
  • 状态守护:后台运行 agent-device daemon,通过 IPC 与平台通信,保持设备长连接。
2. AI Agent 核心引擎层 (Agent Engine)

这是平台的"大脑",负责将自然语言测试需求转化为具体操作:

  • 感知模块 (Perception) 调用 agent-device snapshot -i 获取无障碍树,将其转换为结构化文本(如 @e1 button "Sign In"),大幅降低 LLM 的 Token 消耗。

  • 决策模块 (Decision) 接入多模态大模型(如 Qwen、GLM-4V)。采用 ReAct (Reasoning + Acting) 循环:

    • Thought 分析当前 UI 状态与测试目标的差距。

    • Action 输出标准化指令(如 tap @e3、swipe up、type "user@email.com")。

    • Observation 获取执行后的新 UI 状态。

  • 记忆与知识库 (Memory)

    借鉴 AppAgent 机制,Agent 在探索过程中自动提取界面元素的特征、位置和功能,生成"UI 知识库"。下次遇到相似场景时,Agent 可直接检索知识库,提升执行效率。

3. 平台业务服务层 (Platform Service)
  • 任务调度中心 支持创建测试任务(如"验证购物车完整链路"),支持并发分配空闲设备。

  • 弹窗与异常拦截器 鸿蒙的弹窗是普通 ArkUI 组件,平台需内置关键词匹配规则(如识别"确定/取消/允许/拒绝"),在 Agent 决策前自动处理系统级干扰。

  • 断言与验证引擎 支持自然语言断言(如 aiAssert "购物车商品数量应为1"),由 LLM 结合当前 UI 状态进行语义判断。

4. 资产与 CI/CD 集成层 (Asset & DevOps)
  • 测试回放 (Replay) 将 Agent 探索成功的交互路径录制成 .ad 脚本。在 CI 环境中,这些脚本可作为 E2E 测试用例稳定回放,解决 AI 测试不稳定的痛点。

  • 证据链归档 自动打包测试过程中的截图、录屏、HTTP 抓包、App 日志和 Crash 上下文,生成可视化的 AI 测试报告。

三、 核心工作流 (Workflow)

1.输入:用户在平台输入测试目标(如:"使用测试账号登录,搜索无线耳机并加入购物车")。

2.启动:平台从设备池分配一台鸿蒙真机,执行 agent-device open 启动 App。

3.循环执行:

  • 平台获取当前 UI 快照(snapshot -i)。

  • 将快照和测试目标发送给 LLM。

  • LLM 返回下一步操作(如 tap @e12)。

  • 平台调用 agent-device press @e12 执行操作。

  • 平台检查是否发生弹窗,若发生则自动处理。

4.验证与结束:目标达成或超时后,Agent 生成总结报告。

5.沉淀:若测试成功,平台将本次操作序列保存为 .ad 回归脚本。

四、 关键难点与应对策略

1.AI 幻觉与误操作
  • 策略:引入置信度机制。对于关键操作(如支付、删除),要求 LLM 给出高置信度,或增加人工确认(Human-in-the-loop)节点。
2.鸿蒙兼容性
  • 策略:由于鸿蒙没有原生的 Alert API,需在平台层封装一个"鸿蒙弹窗识别器",通过解析 ArkUI 节点树中的 dialog 或 alert 类型,自动提取按钮坐标并执行点击。
3.Token 成本控制
  • 策略:坚决摒弃纯视觉截图方案,强制使用 agent-device 的无障碍树(Accessibility Snapshot)作为 AI 的输入。仅在 Debug 或复杂视觉断言时才调用截图。
4.测试稳定性
  • 策略:不要期望 AI 每次探索的路径完全一致。将 AI 探索作为"生成测试用例"的手段,最终通过 .ad 脚本回放来保证 CI 流水线的绝对稳定。

五、 落地实施建议

  • Phase 1 (MVP):实现基础的 CLI 封装,打通 LLM 与 agent-device 的 ReAct 循环,支持单设备、单平台的自然语言探索测试。

  • Phase 2 (平台化):开发 Web 控制台,增加设备池管理、弹窗自动处理、测试报告生成,并完善鸿蒙系统的专项兼容。

  • Phase 3 (工程化):实现 .ad 脚本的录制与回放,接入 Jenkins/GitLab CI,建立 UI 知识库,实现跨端的一致性测试。

这个方案充分利用了 agent-device 在底层设备控制和语义解析上的优势,将复杂的跨平台适配和 UI 定位问题下沉,让上层的 AI Agent 能够专注于业务逻辑的理解和测试策略的规划。

相关推荐
冻感糕人~1 小时前
大模型学习指南:收藏这份AI Agent四层工程地图(小白程序员必备)
java·大数据·人工智能·学习·大模型·agent·大模型学习
AI小码18 小时前
把动作「画」给视频世界模型,跨本体双向推演,李飞飞参与
大数据·人工智能·算法·ai·大模型·音视频·编程
weixin_666593991 天前
自然资源时空智能体建设方案:从数字化到智能化的演进路径
大数据·人工智能·大模型·云计算·agent·云平台·空间数据库
aqi001 天前
15天学会AI应用开发(十六)LangChain实现对话记忆功能
人工智能·python·大模型·ai编程·ai应用
zzzll11111 天前
Agent 开发的五种架构范式及选型思路
人工智能·架构·大模型·llm
Pokerhead1 天前
如何评价 DeepSeek-V4 的价格?
人工智能·大模型·ai编程·deepseek
user-猴子1 天前
AiPy + Kimi K3:2048小游戏生成的技术分析
人工智能·语言模型·大模型·prompt
GPUStack2 天前
怎么优雅地在GPUStack上使用minerU?
ai·大模型·llm·gpu·vllm·gpu集群·gpustack
薛定谔的猫19822 天前
LLaMA Factory微调中的模版在vLLM或LMDeploy框架部署中对齐
大模型·微调·vllm·模版·llama factory·lmdeploy·对话模板