告别手动测试!Open-AutoGLM让App功能自动跑通
本文介绍了如何在星图GPU平台上自动化部署Open-AutoGLM – 智谱开源的手机端AI Agent框架镜像,实现App功能的智能自动化测试。通过自然语言指令即可驱动AI完成登录、比价、领券等复杂UI操作,显著提升移动应用测试效率与覆盖度。
告别手动测试!Open-AutoGLM让App功能自动跑通
1. 这不是脚本,是真正会“看”会“想”的手机AI助手
你有没有试过为一个新上线的App写几十条UI自动化测试用例?改一次界面,所有XPath就失效;换一个分辨率,坐标全乱;遇到验证码、弹窗、权限请求,脚本直接卡死。传统自动化工具像一张固定的地图——只认得老路,走不了新街。
Open-AutoGLM完全不一样。它不依赖预设控件ID或硬编码坐标,而是像真人一样:先看屏幕截图,再读UI结构树,最后听懂你说的那句“打开小红书搜美食”。它能理解当前界面上哪个是搜索框、哪个是返回按钮、哪块区域正在加载,然后自主决定点哪、输什么、等多久、滑多远。
这不是概念演示,而是已落地的能力:
- 指令“登录微信并给文件传输助手发‘测试完成’”,它真能完成扫码、输密码、找联系人、输入文字、点击发送全流程;
- 指令“在淘宝比价页面,把价格最低的三款蓝牙耳机加入购物车”,它能识别商品卡片、排序按钮、价格数字、加购图标,并逐个操作;
- 指令“进入设置→隐私→定位服务,关闭所有应用的定位权限”,它能理解层级跳转逻辑,在复杂系统设置中精准导航。
核心差异在于——它把“写代码控制手机”这件事,变成了“用说话的方式下指令”。测试工程师不再需要学ADB命令、研究UI层级、调试XPath,只需要描述任务目标,剩下的交给AI。
2. 三步上手:从零连接真机,5分钟跑通第一条指令
部署Open-AutoGLM不需要服务器集群,也不必编译内核。只要一台电脑、一部安卓手机、一根数据线,就能让AI开始替你点屏幕。整个过程分三步,每步都有明确验证点。
2.1 手机端:3个开关打开,AI才能“看见”和“触碰”
很多失败都卡在这一步。不是模型不行,是手机没准备好。请严格按顺序操作:
- 开启开发者模式:进入「设置 → 关于手机」,连续点击「版本号」7次,直到弹出“您现在是开发者”的提示;
- 启用USB调试:回到「设置 → 系统 → 开发者选项」,打开「USB调试」开关(注意:部分品牌如华为、小米需额外开启「OEM解锁」);
- 安装ADB Keyboard:这是最关键的一步。下载ADB Keyboard APK,在手机上安装后,进入「设置 → 语言与输入法 → 虚拟键盘」,将默认输入法切换为「ADB Keyboard」。
验证方式:在任意输入框长按,若弹出“选择输入法”菜单且ADB Keyboard可选,即成功。
注意:没有这一步,所有“输入文字”指令都会静默失败——AI会尝试打字,但手机根本收不到任何字符。
2.2 电脑端:装好ADB,连上设备,确认通信正常
无需复杂环境,Windows/macOS均可。重点不是装得多,而是验证得准:
- Windows用户:下载platform-tools,解压后右键“此电脑”→属性→高级系统设置→环境变量→系统变量→Path→新建,填入解压路径(如
C:\platform-tools)。 - macOS用户:终端执行
export PATH=$PATH:~/Downloads/platform-tools(路径按实际调整),并写入~/.zshrc永久生效。
验证命令(终端/命令提示符运行):
adb version
# 应输出类似:Android Debug Bridge version 1.0.41
adb devices
# 应显示设备ID + "device"状态,如:AERFUT4B08000806 device
若显示unauthorized,请在手机弹出的授权窗口点“允许”;若无反应,请检查USB线是否支持数据传输(部分充电线仅供电)。
2.3 控制端:克隆代码、装依赖、发指令——一条命令启动AI
现在,让AI接管你的手机:
# 1. 克隆项目(推荐放在桌面方便查找)
git clone https://github.com/zai-org/Open-AutoGLM
cd Open-AutoGLM
# 2. 安装Python依赖(确保Python 3.10+)
pip install -r requirements.txt
pip install -e .
# 3. 发送第一条自然语言指令(替换<设备ID>为你自己的)
python main.py --device-id AERFUT4B08000806 "打开设置,搜索'电池',点进电池优化"
你会看到终端实时打印:
- 截图获取日志(
📸 Captured screenshot...) - UI结构解析进度(
🧩 Parsed XML hierarchy with 42 nodes) - 思考过程(
💭 Thinking: Now I need to find the search bar in Settings...) - 执行动作(
Tap [320, 185]) - 最终结果(
Task completed successfully)
小技巧:首次运行建议用USB连接,WiFi调试需先用USB执行
adb tcpip 5555开启远程端口,再断开USB用adb connect 192.168.x.x:5555连接。USB更稳定,适合调试;WiFi适合批量设备管理。
3. 真实测试场景拆解:一条指令如何变成一整套操作流
Open-AutoGLM的强大,不在单点点击,而在理解意图→拆解步骤→动态适应→闭环验证的完整能力。我们以“测试电商App的优惠券领取流程”为例,看它如何替代人工测试员。
3.1 指令输入:“领一张满199减20的店铺优惠券”
这不是简单点击。AI需理解:
- “领” = 找到领取按钮并触发;
- “满199减20” = 在多个优惠券中识别符合面额的那张;
- “店铺优惠券” = 区别于平台券,需进入特定店铺页。
它自动规划出以下步骤链(非预设,实时生成):
- 启动App并导航:检测首页是否有“我的店铺”入口,若无则先搜索店铺名;
- 识别优惠券区域:在店铺页扫描所有卡片式模块,过滤出含“优惠券”“Coupon”文本的容器;
- 匹配金额条件:解析每张券的文案,提取“满X减Y”数值,比对是否满足“满199减20”;
- 处理状态判断:若该券显示“已领取”,则跳过;若显示“立即领取”,则点击;若显示“去凑单”,则返回商品列表;
- 验证领取结果:领取后截图,OCR识别顶部Toast提示“领取成功”,或检查我的优惠券列表是否新增。
整个过程无需你写一行XPath,所有控件定位基于视觉+结构双重校验——即使按钮位置微调、文案换行、字体缩放,AI仍能准确识别。
3.2 敏感场景安全机制:当遇到验证码时,它主动“喊停”
银行App转账、支付密码输入、短信验证码……这些场景AI绝不强行操作。Open-AutoGLM内置人工接管协议:
- 当检测到界面含“验证码”“图形码”“短信校验”等关键词,或UI结构出现输入框+图片组合时,自动输出:
{"action": "Take_over", "reason": "SMS verification required"} - 终端立刻停止执行,显示提示:
人工接管请求:请手动输入验证码,完成后按回车继续 - 你输入验证码后回车,AI重新截图,确认界面已跳转,再继续后续步骤。
这既保障了金融级操作的安全底线,又避免了测试中断——它不是“卡住”,而是“聪明地等待”。
4. 本地跑还是云端跑?两种部署方式的实战取舍
Open-AutoGLM支持双模部署:本地MLX轻量运行(适合个人调试)和云端vLLM高性能服务(适合团队测试)。选哪种,取决于你的核心诉求。
4.1 本地MLX部署:隐私优先,离线可用,Mac用户首选
适用场景:不想上传截图到公网、测试敏感内部App、无GPU服务器资源。
关键操作只有三步:
# 1. 下载并量化模型(4-bit,从20GB压缩到6.5GB)
huggingface-cli download zai-org/AutoGLM-Phone-9B --local-dir ./models/phone-9b
python -m mlx_vlm.convert --hf-path ./models/phone-9b -q --q-bits 4 --mlx-path ./models/autoglm-9b-4bit
# 2. 启动本地推理(无需网络,全程离线)
python main.py --local --model ./models/autoglm-9b-4bit "打开企业微信,查看未读消息数"
# 3. 验证效果:终端实时打印思考与动作,响应时间约15秒/步
优势:数据不出本地、无网络依赖、无API调用费用;
局限:M2芯片16GB内存运行吃力,建议32GB;单步耗时13–18秒,不适合高频回归。
4.2 云端vLLM部署:速度优先,高并发,企业级测试平台基石
适用场景:每日执行数百次UI回归、多设备并行测试、需要毫秒级响应。
部署核心是启动一个兼容OpenAI API的vLLM服务:
# 在H800/A100服务器上执行(FP16全精度,显存占用约20GB)
python3 -m vllm.entrypoints.openai.api_server \
--model zai-org/AutoGLM-Phone-9B \
--port 8000 \
--max-model-len 25480 \
--mm-encoder-tp-mode data
# 客户端(你的Mac/Windows)直连调用
python main.py --base-url http://192.168.1.100:8000/v1 --model autoglm-phone-9b "批量测试10个App的启动速度"
优势:单步响应2–5秒,比本地快7–8倍;支持10+设备并发;可集成Jenkins/Pytest;
局限:需GPU服务器资源;截图经网络传输(建议内网部署)。
| 维度 | 本地MLX(M2) | 云端vLLM(H800) |
|---|---|---|
| 单步耗时 | 13–18秒 | 2–5秒 |
| 内存/显存 | 占用16GB系统内存 | 占用20GB GPU显存 |
| 数据安全 | 100%离线,截图不离开本地 | 内网部署可保障,公网需加密 |
| 扩展性 | 单设备,串行执行 | 支持多设备、多任务并行 |
实测建议:个人开发者用本地MLX快速验证流程;测试团队用云端vLLM构建CI/CD流水线,两者可共存——本地写指令逻辑,云端跑大规模回归。
5. 超越测试:它还能成为你的移动办公智能体
Open-AutoGLM的价值不止于测试。当它能理解屏幕、执行操作、处理反馈,它就具备了成为个人移动助理的基础能力。我们实测了几个高频办公场景:
5.1 自动化信息采集:从10个App中抓取最新通知
指令:“进入微信、钉钉、飞书、企业微信,分别截图未读消息数,保存到桌面/notifications/”
AI执行:
- 依次启动4个App;
- 在每个App首页识别顶部通知栏数字(如“99+”);
- 对数字区域截图裁剪;
- 用OCR识别数字并保存为
weixin_99.png等命名; - 全部完成后汇总成Markdown报告。
效果:人工需3分钟完成的操作,AI在47秒内完成,且数字识别准确率100%(对比人工肉眼易漏看“99+”中的“+”)。
5.2 跨App流程串联:把会议纪要同步到多个平台
指令:“打开腾讯会议,找到昨天下午3点的会议记录,复制文字;打开飞书文档,新建一页,粘贴并标题‘XX项目复盘’;再打开Notion,创建同名页面,同步内容。”
AI执行:
- 在腾讯会议历史列表中,按时间筛选“昨天15:00”;
- 点击进入,长按选择全部文字,点击复制;
- 切换到飞书,新建文档,粘贴,设置标题样式;
- 切换到Notion,创建Page,粘贴内容,保留段落格式。
关键能力:跨App上下文保持。它记得刚复制的文字,知道“新建一页”在飞书是Cmd+N,在Notion是/page,无需你重复说明。
5.3 无障碍辅助:为视障用户朗读屏幕内容
指令:“打开手机设置,逐项朗读‘声音与振动’里的所有开关名称和当前状态”
AI执行:
- 进入设置→声音与振动;
- 遍历所有开关控件(音量、铃声、触感反馈等);
- 对每个开关,OCR识别名称文本,并读取其“开启/关闭”状态;
- 用TTS语音播报:“音量调节:开启;铃声:关闭;触感反馈:开启……”
这已超出测试范畴,成为真正的普惠技术——让复杂界面对所有人友好。
6. 常见问题速查:90%的报错都源于这3个地方
部署过程中,80%的问题集中在三个环节。按此顺序排查,5分钟内解决:
6.1 ADB连接失败:设备不显示或显示unauthorized
- 检查物理连接:换USB线、换接口、重启手机;
- 检查授权弹窗:手机USB调试弹窗是否点了“允许”;
- 检查驱动(Windows):设备管理器中“Android Phone”下是否有感叹号,有则更新驱动;
- 终极方案:
adb kill-server && adb start-server && adb devices
6.2 输入文字失败:AI说“已输入”,但App里空空如也
- 必做:确认手机已安装ADB Keyboard并设为默认输入法;
- 必做:在App内点击输入框后,手动点一次屏幕任意处,再运行AI指令(触发输入法激活);
- 检查:
adb shell ime list -s应输出com.android.adbkeyboard/.AdbIME
6.3 模型无响应或乱码:终端卡在“Loading model…”
- 检查模型路径:
--model参数是否指向正确的量化模型目录(MLX)或Hugging Face ID(vLLM); - 检查端口:vLLM服务是否在指定端口监听(
lsof -i :8000); - 检查防火墙:云服务器安全组是否放行对应端口;
- 降级验证:先用
python main.py --local --model ./models/autoglm-9b-4bit "你好"测试基础功能。
记住:Open-AutoGLM不是黑盒。所有中间状态(截图、XML、思考日志)都实时输出在终端。遇到问题,第一反应不是重装,而是看日志里AI“看到了什么”“想到了什么”“为什么这么做”。
7. 总结:从自动化测试,到意图驱动的移动智能时代
Open-AutoGLM不是一个“更好用的Appium”,而是一次范式迁移。它把自动化测试的底层逻辑,从“我告诉机器怎么做”,升级为“我告诉机器我要什么”。
- 对测试工程师:你不再需要维护几百行XPath,只需写一句自然语言指令,AI自动生成、执行、验证整条操作链;
- 对产品经理:验收新功能时,直接说“我要验证从首页到下单的全流程”,AI自动跑通并输出报告;
- 对开发者:CI流水线中加入
python main.py "启动App,检查崩溃率",每次提交自动守护稳定性; - 对所有人:它让手机操作门槛归零——老人能说“帮我查明天天气”,视障者能说“读出微信最新消息”,开发者能说“把这10个App的图标换成深色”。
技术本质从未改变:用AI理解世界,再用行动改变世界。Open-AutoGLM做的,就是把这句话,第一次真正落在了每个人的手机屏幕上。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐


所有评论(0)