巴彦淖尔市网站建设_网站建设公司_Windows Server_seo优化
2026/1/22 5:43:04 网站建设 项目流程

AutoGLM-Phone自动化测试:APP功能回归验证实战

1. Open-AutoGLM:智谱开源的手机端AI Agent框架

你有没有想过,让AI像真人一样操作你的手机?不是简单的脚本回放,而是真正“看懂”屏幕、“理解”指令,还能自主决策下一步动作。这不再是科幻场景——AutoGLM-Phone正在把这件事变成现实。

这是由智谱AI开源的Open-AutoGLM项目中的核心组件,一个基于视觉语言模型(VLM)构建的手机智能体框架。它不仅能“看见”手机屏幕上的一切,还能通过自然语言指令驱动整个操作流程。比如你说:“打开小红书,搜‘周末探店’,点赞第一条笔记”,它就能自动完成从启动App到点赞的全过程。

更关键的是,这套系统不只是为个人助理设计的,它的底层能力非常适合用于APP功能回归测试、UI自动化验证、用户体验路径复现等工程场景。相比传统自动化工具(如Appium、UiAutomator),它不再依赖控件ID或XPath,而是像用户一样“看图办事”,从根本上解决了因界面重构导致脚本失效的问题。

本文将带你从零开始部署 AutoGLM-Phone,并实战演示如何用它进行一次完整的APP功能回归验证。


2. AutoGLM-Phone 的工作原理与优势

2.1 多模态感知 + 智能规划 = 真正的“会思考”的手机助手

AutoGLM-Phone 的核心技术栈可以拆解为三个层次:

  • 视觉感知层:通过ADB实时抓取手机屏幕截图,送入视觉语言模型(VLM)进行解析。模型能识别图标、文字、按钮位置、当前页面语义。
  • 意图理解与任务规划层:接收用户的自然语言指令(如“登录账号并下单咖啡”),结合当前屏幕状态,推理出需要执行的操作序列。
  • 执行控制层:通过ADB发送点击、滑动、输入等指令,模拟真实用户操作。

这种“感知-决策-执行”闭环,使得系统具备了极强的泛化能力。即使App改版、按钮换位置,只要视觉上可识别,AI就能重新找到路径。

2.2 相比传统自动化测试的优势

维度传统自动化(Appium/UiAutomator)AutoGLM-Phone
定位方式依赖控件ID、class、XPath等结构信息基于图像和语义理解,视觉定位
抗变性页面一改,脚本全废改版后仍可运行,适应性强
编写成本需编写详细脚本,学习成本高只需一句自然语言指令
覆盖范围单一流程固定路径可处理分支逻辑、异常跳转
维护成本每次迭代需同步更新脚本几乎无需维护

这意味着,当你每次发布新版本时,不再需要手动重写几十条测试用例,只需让AI重复执行“老路径”,它就能自动对比行为差异,帮你快速发现回归问题。


3. 本地环境搭建与设备连接

要让 AutoGLM-Phone 跑起来,你需要准备一台本地电脑作为控制端,一台安卓设备作为被控端,以及一个运行大模型的云服务(或本地GPU服务器)。

我们先从本地控制端开始配置。

3.1 硬件与软件准备

  • 操作系统:Windows 或 macOS(推荐macOS,兼容性更好)
  • Python版本:建议使用 Python 3.10+(避免低版本依赖冲突)
  • 安卓设备:Android 7.0以上的真实手机或模拟器(如MuMu、BlueStacks)
  • ADB工具:Android Debug Bridge,用于设备通信
ADB 安装与配置
  1. 下载 Android SDK Platform Tools 并解压。

  2. 将解压后的目录添加到系统环境变量PATH中。

    • Windows

      • Win + R输入sysdm.cpl
      • 进入“高级” → “环境变量”
      • 在“系统变量”中找到Path,点击“编辑” → “新建”,填入ADB解压路径
      • 打开命令行输入adb version,若显示版本号则成功
    • macOS

      # 假设解压路径为 ~/Downloads/platform-tools export PATH=${PATH}:~/Downloads/platform-tools

      可将该行加入.zshrc.bash_profile实现永久生效。


3.2 手机端设置

为了让AI能“打字”和“点击”,我们需要对手机做一些基础配置。

  1. 开启开发者模式
    设置 → 关于手机 → 连续点击“版本号”7次,直到提示“您已进入开发者模式”。

  2. 开启USB调试
    返回设置主菜单 → 开发者选项 → 启用“USB调试”

  3. 安装 ADB Keyboard(关键!)
    这是一个特殊的输入法,允许通过ADB命令直接输入文字,绕过安全限制。

    • 下载 ADB Keyboard APK 并安装
    • 进入“语言与输入法”设置
    • 将默认输入法切换为ADB Keyboard

注意:如果不安装这个输入法,AI将无法在搜索框、登录页等地方输入文本,严重影响自动化能力。


4. 部署控制端代码并连接设备

4.1 克隆项目并安装依赖

在本地电脑上执行以下命令:

# 克隆开源仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 安装依赖 pip install -r requirements.txt pip install -e .

该项目基于 PyTorch 和 Transformers 构建,同时集成了 FastAPI 用于远程调用接口。安装过程可能需要几分钟,请确保网络稳定。


4.2 设备连接方式

确保手机通过 USB 连接到电脑,或处于同一局域网内。

方法一:USB直连(推荐初学者)
adb devices

如果输出类似:

List of devices attached 123456789 device

说明设备已正常连接。

方法二:WiFi远程连接(适合长期运行)

适用于不想插线、或多设备管理的场景。

  1. 先用USB连接,启用TCP/IP模式:

    adb tcpip 5555
  2. 断开USB,使用IP连接:

    adb connect 192.168.x.x:5555

    (IP地址可在手机“设置-关于手机-状态信息”中查看)

  3. 再次运行adb devices,确认设备在线。


5. 启动AI代理并执行自动化任务

现在所有前置条件都已满足,接下来就是见证AI接管手机的时刻。

5.1 命令行方式启动任务

假设你已经在云服务器上部署好了 vLLM 服务,监听在http://<公网IP>:8800/v1,你可以这样运行:

python main.py \ --device-id 123456789 \ --base-url http://123.45.67.89:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音,搜索抖音号 dycwo11nt61d,进入主页并关注该博主"

参数说明:

  • --device-id:来自adb devices的设备ID
  • --base-url:指向运行 AutoGLM 模型的API地址
  • --model:指定使用的模型名称(需与服务端一致)
  • 最后的字符串:你的自然语言指令

执行后,你会看到AI逐步执行以下动作:

  1. 解锁手机(如有锁屏)
  2. 找到并点击“抖音”App图标
  3. 等待首页加载完成后,点击底部“放大镜”搜索入口
  4. 调用 ADB Keyboard 输入“dycwo11nt61d”
  5. 点击搜索结果中的目标账号
  6. 判断是否已关注,若未关注则点击“关注”按钮

整个过程无需人工干预,且每一步都有日志记录,便于回溯分析。


5.2 使用 Python API 进行远程控制

如果你希望将 AutoGLM-Phone 集成进自己的测试平台,可以直接调用其Python API。

from phone_agent.adb import ADBConnection, list_devices # 创建ADB连接管理器 conn = ADBConnection() # 连接远程设备 success, message = conn.connect("192.168.1.100:5555") print(f"连接状态: {message}") # 列出所有已连接设备 devices = list_devices() for device in devices: print(f"{device.device_id} - {device.connection_type.value}") # 获取设备IP(用于后续无线连接) ip = conn.get_device_ip() print(f"设备当前IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

你可以在此基础上封装成“测试任务调度器”,批量下发回归测试指令,收集执行结果,生成报告。


6. 实战案例:APP功能回归验证全流程

我们以某电商App为例,演示如何用 AutoGLM-Phone 完成一次标准的功能回归测试。

6.1 测试目标

验证新版本App中“商品搜索→加入购物车→结算”流程是否正常。

6.2 自然语言指令

打开京东App,搜索“蓝牙耳机”,点击第一个商品,加入购物车,然后去购物车结算,选择货到付款,提交订单。

6.3 执行过程观察

AI会自动完成以下步骤:

  1. 启动京东App
  2. 检测首页是否有弹窗广告,若有则点击关闭
  3. 找到顶部搜索框并点击
  4. 输入“蓝牙耳机”
  5. 点击搜索结果第一项
  6. 滑动页面查看价格、评价等信息(模拟用户浏览)
  7. 点击“加入购物车”
  8. 弹窗出现后点击“去购物车”
  9. 勾选商品,点击“结算”
  10. 选择“货到付款”,提交订单

6.4 回归验证要点

  • 行为一致性检查:对比旧版本执行路径,确认关键节点顺序一致
  • 异常检测:若某步超时或找不到元素,记录失败原因
  • 截图对比:在关键节点保存屏幕截图,用于视觉比对
  • 敏感操作拦截:遇到支付确认页时,系统自动暂停,等待人工确认后再继续

这种方式不仅能验证功能可用性,还能捕捉到UI错位、按钮消失、文案错误等视觉层面的问题。


7. 常见问题与排查建议

7.1 连接类问题

问题现象可能原因解决方案
adb devices无设备USB调试未开启检查开发者选项
连接被拒绝防火墙阻止端口开放云服务器8800等映射端口
WiFi连接不稳定路由器限制改用USB连接,或固定IP

7.2 执行类问题

问题现象可能原因解决方案
AI乱点、误操作屏幕分辨率不匹配确保模型训练数据包含相似分辨率
输入中文失败ADB Keyboard未设为默认检查输入法设置
模型无响应显存不足或max-model-len太小调整vLLM启动参数,增加显存分配

7.3 提示词优化技巧

为了让AI更准确地执行任务,建议指令遵循以下格式:

动词开头 + 明确对象 + 补充细节

例如:

  • ❌ “看看有没有便宜的耳机”
  • “打开淘宝,搜索‘百元内蓝牙耳机’,按销量排序,点击第一个商品详情页”

越具体,成功率越高。


8. 总结

AutoGLM-Phone 不只是一个炫酷的AI助手,它正在重新定义移动应用的自动化测试方式。通过多模态理解与自然语言驱动,它实现了:

  • 零脚本编写:一条指令即可启动完整测试流
  • 高抗变性:不依赖控件ID,界面改版也不怕
  • 真实用户视角:像人一样“看”和“操作”,覆盖更多边缘场景
  • 可扩展性强:支持远程调试、批量任务、人工接管

对于QA团队来说,这意味着可以用极低成本建立一套智能回归测试流水线。每次发版前,只需让AI跑一遍核心路径,就能快速发现潜在问题。

未来,随着视觉语言模型能力的提升,这类AI Agent还将支持更复杂的场景,如语音交互测试、多设备联动、异常恢复等,真正实现“无人值守”的自动化验证。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询