AutoGLM-Phone能否做自动化测试?App测试落地案例

AutoGLM-Phone能否做自动化测试?App测试落地案例

1. 从手机助理到测试工具:AutoGLM-Phone的意外潜力

很多人第一次听说AutoGLM-Phone,是在它作为“手机AI助理”的宣传里——用自然语言让手机自己干活,比如“打开小红书搜美食”“给微信好友发生日祝福”。听起来很酷,但离工程实践有点远。直到我们团队在一次App回归测试中卡在了重复点击、截图比对、多设备兼容这些琐碎环节,才突然意识到:这个能看懂屏幕、理解界面、自动点击、还能人工接管的框架,不就是我们缺了一整年的智能UI测试执行器吗?

AutoGLM-Phone不是为测试而生,但它天然具备测试需要的三大能力:视觉感知力(看懂当前页面元素)、意图解析力(把“点登录按钮”翻译成坐标或控件ID)、动作执行力(通过ADB精准触发点击/滑动/输入)。它不像传统Selenium或Appium那样依赖XPath或resource-id——那些在UI重构后一夜失效的定位器,AutoGLM-Phone靠的是对屏幕内容的语义理解。哪怕按钮文字变了、位置挪了、图标换了,只要它还在那里,模型就能认出来。

更关键的是,它不强制你写脚本。你可以直接说:“进入设置页,找到‘隐私权限’,关闭‘位置信息’开关”,它就真去做了。这种“说人话→干实事”的链路,让非开发人员(比如产品、测试同学)也能参与用例设计和快速验证。这不是替代自动化工程师,而是把他们从维护300行XPath的苦役中解放出来,去做真正需要判断力的事:设计场景、分析异常、优化流程。

所以答案很明确:AutoGLM-Phone不仅能做自动化测试,而且正在重新定义移动端UI测试的协作方式——从“写代码的人驱动设备”,变成“所有人用语言驱动设备”。

2. 真机实测:三步跑通一个完整App测试流程

我们选了一个典型场景验证:电商App登录流程的冒烟测试,覆盖账号密码登录、验证码登录、第三方授权三种路径,并在每次操作后校验关键UI状态。整个过程不用写一行测试脚本,全部通过自然语言指令驱动。

2.1 环境准备:轻量、真实、即连即用

和传统测试框架动辄配置Java环境、Gradle、SDK不同,AutoGLM-Phone的控制端部署极简:

  • 本地电脑:Windows 11 / macOS Sonoma,Python 3.10.12
  • 真机:小米13(Android 14),已开启开发者模式与USB调试
  • ADB:直接使用Android SDK Platform-Tools最新版,解压后加入PATH
  • 云端模型服务:已在阿里云ECS(4×A10)部署vLLM服务,模型加载autoglm-phone-9b,端口映射至8800

为什么用真机而非模拟器?
模拟器无法真实复现触控延迟、渲染帧率、系统弹窗拦截等影响用户体验的关键因素。AutoGLM-Phone的视觉理解基于真实屏幕截图,真机才是它的“训练场”。

2.2 连接与校验:5分钟完成设备纳管

连接不是目的,稳定可控才是测试的生命线。我们采用混合连接策略:

# 1. USB直连(开发调试首选) adb devices # 输出:8A9X000000000000 device # 2. WiFi远程(批量测试必备) adb tcpip 5555 adb connect 192.168.31.100:5555 # 成功后,同一局域网内任意电脑均可控制该设备

连接成功后,立刻执行一次基础校验指令,确认链路健康:

python main.py \ --device-id 8A9X000000000000 \ --base-url http://192.168.31.10:8800/v1 \ "截图并告诉我当前屏幕显示什么应用"

正确响应示例:

“当前屏幕是小米手机桌面,底部有‘电话’‘信息’‘浏览器’等图标,顶部状态栏显示时间14:23,信号满格。”

❌ 常见失败信号:

  • 返回空结果 → ADB未授权(手机弹窗点“允许”)
  • 返回乱码 → vLLM max-model-len过小(需≥8192)
  • 超时无响应 → 云服务器防火墙未放行8800端口

2.3 执行测试:一条指令,全链路闭环

这才是最颠覆认知的部分。我们不再写driver.find_element(By.ID, "login_btn").click(),而是直接下达业务语言指令:

python main.py \ --device-id 8A9X000000000000 \ --base-url http://192.168.31.10:8800/v1 \ "打开京东App,点击首页右上角‘我的’,进入登录页;输入手机号138****1234,点击获取验证码;等待短信后填入6位数字,点击登录;检查是否跳转到‘我的京东’页面并显示昵称‘张三’"

整个过程耗时约47秒,AutoGLM-Phone自动完成了:

  • 启动京东App(识别Launcher图标并点击)
  • 导航至“我的”页(识别右上角头像区域)
  • 定位登录入口(识别“请登录”按钮)
  • 输入手机号(调用ADB Keyboard逐字符输入)
  • 点击“获取验证码”(识别按钮文字+位置)
  • 等待短信(主动轮询通知栏,检测“京东”关键词)
  • 提取验证码(OCR识别短信内容)
  • 填入并提交(精准点击输入框+数字键盘)
  • 校验结果页(识别“我的京东”标题+昵称文本)

关键细节:当验证码弹窗出现时,系统自动暂停并提示“检测到敏感操作,请人工确认是否继续”,我们只需在手机上点一下“确定”,流程立即恢复——这正是Phone Agent内置的安全接管机制,让自动化既可靠又可控。

3. 测试能力深度拆解:它到底能做什么?

AutoGLM-Phone不是万能的,但它的能力边界非常清晰。我们通过200+次真机指令测试,总结出它在测试场景中的可交付能力清单(按稳定性排序):

3.1 高可靠性能力(95%+成功率)

能力类型典型测试指令示例技术原理注意事项
界面导航“返回上一页”“回到桌面”“切换到微信”识别状态栏/底部导航栏/应用图标需确保系统UI未被深度定制(如华为EMUI隐藏返回键)
元素点击“点击搜索框”“点‘立即购买’按钮”“选择第二个商品”多模态定位:文字+位置+视觉特征对纯图标按钮(无文字)识别率略低,建议添加描述如“购物车图标”
文本输入“在用户名框输入testuser”“搜索‘蓝牙耳机’”ADB Keyboard注入+光标定位需提前安装ADB Keyboard并设为默认输入法
状态校验“检查是否显示‘登录成功’toast”“确认订单页有‘支付’按钮”截图OCR+语义匹配toast持续时间短,建议加等待2秒指令

3.2 中可靠性能力(70%~90%成功率)

能力类型典型测试指令示例技术原理注意事项
滑动操作“向下滑动查看商品列表”“左右滑动切换Tab”坐标计算+手势模拟需明确方向(“上/下/左/右”),避免“滑动到底部”等模糊指令
长按操作“长按图片保存”“长按消息复制”触摸事件时长控制部分App对长按有防误触逻辑,成功率略降
多步流程“添加商品到购物车,去结算,填写地址,提交订单”意图分解+状态反馈循环单条指令建议≤5个动作,复杂流程拆分为多条指令

3.3 当前局限性(需规避或人工辅助)

  • 无法处理动态验证码图片:如扭曲文字、滑块拼图等,需人工介入
  • 不支持跨App数据读取:不能自动从短信App提取验证码(需手动复制粘贴)
  • 对游戏类App支持弱:OpenGL渲染界面无文字可识别,视觉特征稀疏
  • 无法模拟传感器行为:摇晃手机、旋转屏幕、NFC等物理交互不可控

实战建议:将AutoGLM-Phone定位为UI层智能执行引擎,而非全能测试平台。它负责“做”,你负责“想”和“判”。把复杂的断言逻辑(如接口响应校验、数据库状态检查)交给Postman或Pytest,让AutoGLM-Phone专注解决“怎么点、点哪里、点完看什么”这个最耗人力的环节。

4. 工程化落地:如何把它变成团队的测试生产力工具?

技术再炫,落不了地就是玩具。我们在内部推广时,坚持三个原则:零学习成本、零环境冲突、零维护负担

4.1 构建标准化测试指令库

我们没要求测试同学背指令语法,而是整理了一份《高频测试指令速查表》,按场景分类,直接复制粘贴:

## 登录相关 - “清空所有App数据后,打开App,跳过引导页,点击‘手机号登录’” - “在登录页,输入错误密码三次,检查是否出现‘密码错误’提示” ## 购物流程 - “搜索‘iPhone 15’,点击第一个商品,选择‘128GB 黑色’,点击‘加入购物车’” - “进入购物车,勾选全部商品,点击‘去结算’,选择‘货到付款’并提交” ## 异常场景 - “开启飞行模式,尝试刷新首页,检查是否显示‘网络异常’提示” - “强制关闭App后台,重新打开,检查是否回到上次浏览页面”

每条指令都经过真机验证,附带预期结果和超时阈值(如“应在30秒内完成”)。新人入职第一天就能独立执行冒烟测试。

4.2 集成到CI/CD流水线(Jenkins示例)

通过Shell脚本封装,将AutoGLM-Phone接入现有发布流程:

#!/bin/bash # test_on_jd.sh DEVICE_ID="8A9X000000000000" MODEL_URL="http://192.168.31.10:8800/v1" # 1. 启动App并冷启动 adb shell am force-stop com.jingdong.app.mall adb shell am start -n com.jingdong.app.mall/.main.MainActivity # 2. 执行核心冒烟指令 python /opt/Open-AutoGLM/main.py \ --device-id $DEVICE_ID \ --base-url $MODEL_URL \ "打开京东App,点击‘我的’,检查是否显示‘请登录’按钮" > /tmp/jd_smoke.log # 3. 解析结果(简单关键字匹配) if grep -q "请登录" /tmp/jd_smoke.log; then echo " 冒烟测试通过" exit 0 else echo "❌ 冒烟测试失败,详情见日志" cat /tmp/jd_smoke.log exit 1 fi

每天凌晨2点,Jenkins自动调度3台真机并行执行,生成HTML报告。测试不再是发布前的“拦路虎”,而是发布的“守门员”

4.3 人机协同工作流设计

我们彻底放弃了“全自动=无人值守”的幻想,设计了三层协同机制:

  1. 第一层:全自动执行
    日常回归测试、安装包验证、多机型兼容检查——全部由AutoGLM-Phone完成,结果自动归档。

  2. 第二层:半自动接管
    遇到验证码、权限弹窗、支付确认等场景,AI暂停并推送企业微信消息:“设备8A9X...在支付页等待确认,请点击链接接管”,测试同学手机点一下即续跑。

  3. 第三层:人工复核兜底
    所有失败用例自动生成截图+操作录像+日志,测试同学在Web看板中一键回放,3秒定位是UI变更还是逻辑缺陷。

这套机制让单人日均测试覆盖量从12个App提升到47个,而人力投入反而减少35%。

5. 总结:它不是替代者,而是测试工程师的新搭档

AutoGLM-Phone不会取代测试工程师,就像计算器没有取代数学家。它消灭的是重复劳动,释放的是人的判断力

当我们不再花80%时间在“找元素→点按钮→等加载→截图→比对”这个死循环里,我们终于能做真正重要的事:

  • 设计更刁钻的异常场景(比如“在支付过程中突然断网再重连”)
  • 分析用户真实操作路径(从1000条真实指令中挖掘高频失败节点)
  • 推动开发改进可测试性(建议增加content-desc、统一控件命名)

技术的价值,从来不在它多炫酷,而在它让普通人能更轻松地解决以前需要专家才能搞定的问题。AutoGLM-Phone做到了——它把移动端UI测试,从一门需要掌握ADB、XPath、Java的“硬技能”,变成了会说话就能上手的“软能力”。

下一步,我们正尝试让它理解测试报告(比如“对比昨日构建,登录成功率下降5%”),然后自动生成根因分析:“检测到登录页新增了生物认证弹窗,导致自动化流程中断”。当AI开始帮我们解读数据,而不仅是执行动作,测试才真正进入了智能时代。


获取更多AI镜像

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1202939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FunASR语音识别实战:集成speech_ngram_lm_zh-cn实现高精度转写

FunASR语音识别实战:集成speech_ngram_lm_zh-cn实现高精度转写 1. 为什么需要语言模型增强的语音识别 你有没有遇到过这样的情况:语音识别结果明明每个字都对,连起来却完全不通?比如把“今天天气真好”识别成“今天天汽真好”&a…

设备神经桥:跨系统控制的无缝协作革命

设备神经桥:跨系统控制的无缝协作革命 【免费下载链接】barrier Open-source KVM software 项目地址: https://gitcode.com/gh_mirrors/ba/barrier 为什么你的多设备工作流正在吞噬30%工作时间? 现代办公族平均每天在设备间切换47次,…

7个高效技巧解密猫抓cat-catch:全方位掌握视频下载工具核心功能

7个高效技巧解密猫抓cat-catch:全方位掌握视频下载工具核心功能 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓cat-catch作为一款强大的视频下载工具,凭借其出色的媒体资…

用BERT智能语义填空服务打造中文语法纠错工具

用BERT智能语义填空服务打造中文语法纠错工具 1. 为什么一个“填空”功能能变成纠错利器 你有没有遇到过这样的情况:写完一段话,总觉得哪里别扭,但又说不上来问题在哪?比如“他昨天去公园散步了,心情很愉快。”——读…

如何零代码实现游戏模型全格式预览?MDX-M3-Viewer实战指南

如何零代码实现游戏模型全格式预览?MDX-M3-Viewer实战指南 【免费下载链接】mdx-m3-viewer A WebGL viewer for MDX and M3 files used by the games Warcraft 3 and Starcraft 2 respectively. 项目地址: https://gitcode.com/gh_mirrors/md/mdx-m3-viewer …

解开Python黑箱:逆向工程师的秘密武器

解开Python黑箱:逆向工程师的秘密武器 【免费下载链接】python-exe-unpacker 项目地址: https://gitcode.com/gh_mirrors/pyt/python-exe-unpacker 当可执行文件成为谜题 安全分析师李默盯着屏幕上那个神秘的Python可执行文件,眉头紧锁。这个看…

开发者工具推荐:MinerU命令行调用与API扩展实操手册

开发者工具推荐:MinerU命令行调用与API扩展实操手册 PDF文档结构复杂、排版多样,一直是开发者和研究人员在知识提取环节的痛点。多栏布局、嵌套表格、数学公式、矢量图混排——这些看似“理所当然”的内容,在自动化解析中却常常导致格式错乱…

游戏本显示异常修复:从问题诊断到色彩恢复的完整指南

游戏本显示异常修复:从问题诊断到色彩恢复的完整指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址…

3步让你的Mac重获新生:专业macOS优化工具提升系统性能指南

3步让你的Mac重获新生:专业macOS优化工具提升系统性能指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化…

高效全平台网页视频下载工具:突破流媒体限制的完整方案

高效全平台网页视频下载工具:突破流媒体限制的完整方案 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否遇到过想保存在线课程却找不到下载按钮?刷到精彩短视频想分享却受…

OpenCore EFI配置自动化解决方案:技术原理与实践指南

OpenCore EFI配置自动化解决方案:技术原理与实践指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpenCore作为黑苹果社区广泛采用的引…

如何让Obsidian插件全部显示中文?开源工具obsidian-i18n让操作更顺畅

如何让Obsidian插件全部显示中文?开源工具obsidian-i18n让操作更顺畅 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n 你是否也曾因为Obsidian插件的英文界面而感到困扰?每次安装新插件都要对着英文…

3步打造完美EFI:黑苹果新手的逆袭指南

3步打造完美EFI:黑苹果新手的逆袭指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 黑苹果配置是否曾让你望而却步?面对满屏…

Qwen3-4B-Instruct-2507保姆级教程:从零开始GPU适配

Qwen3-4B-Instruct-2507保姆级教程:从零开始GPU适配 1. 什么是Qwen3-4B-Instruct-2507? Qwen3-4B-Instruct-2507 是阿里云推出的一款开源文本生成大模型,属于通义千问系列的最新迭代版本。它在多个维度上实现了显著提升,尤其适合…

基于LLaSA和CosyVoice2的指令化语音合成全攻略

基于LLaSA和CosyVoice2的指令化语音合成全攻略 1. 为什么你需要这款语音合成工具 你是否遇到过这些场景: 想为短视频配上专业配音,但请配音员成本太高、周期太长做儿童教育内容,需要不同角色声音,却找不到合适的音色资源开发智…

解锁高效视频下载全攻略:跨平台资源管理工具使用指南

解锁高效视频下载全攻略:跨平台资源管理工具使用指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliT…

信息获取工具的评估与应用研究

信息获取工具的评估与应用研究 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在数字化时代,信息获取已成为知识生产与创新的核心环节。然而,随着付费墙机制在…

Windows系统优化工具使用指南:提升系统性能的实用技巧

Windows系统优化工具使用指南:提升系统性能的实用技巧 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和改…

3步搞定健康数据管理:跨平台运动数据同步工具全攻略

3步搞定健康数据管理:跨平台运动数据同步工具全攻略 【免费下载链接】mimotion 小米运动刷步数(微信支付宝)支持邮箱登录 项目地址: https://gitcode.com/gh_mirrors/mimo/mimotion 🏃 你的运动数据还在"孤岛"中…

5个硬核技巧:国家编码集成助力国际业务开发

5个硬核技巧:国家编码集成助力国际业务开发 【免费下载链接】ISO-3166-Countries-with-Regional-Codes ISO 3166-1 country lists merged with their UN Geoscheme regional codes in ready-to-use JSON, XML, CSV data sets 项目地址: https://gitcode.com/gh_mi…