移动端 UI 自动化测试怎么做?用 AI 操作手机跑真机

写 UI 自动化最累的不是写用例,是配环境、维护选择器、应付改版。换一条路:用对话把用例说清楚,用工作流沉淀成能反复跑的回归模板。

移动端 UI 自动化测试 · 6 分钟读完
本页目录
  1. 时间和环境花在哪
  2. 用对话说步骤,再用工作流存下来
  3. 执行历史怎么看,多机型怎么分组
  4. 适合做什么,什么还得用原来的框架

做移动端 UI 自动化的团队,多数第一个想到的是 Appium。我这边接触过的几乎都是这样。框架本身够用。等到维护压不住,才会认真找别的做法。

时间和环境花在哪

环境要先配齐:手机驱动、SDK、服务端、客户端连接,还要处理机型差异和系统版本差异。环境不稳的时候,测试同学的大部分时间花在设备为什么连不上,功能验证排在后面。

脚本是第二块。基于元素定位的方案,写的时候要选定位方式,跑的时候要处理等待和弹窗,改版之后还要回头修。一个控件一调,可能让一批用例一起失效。用例越多,要改的越多,最后常常是堆了很多用例,真正在跑的不多。

维度 传统脚本方案 用对话 + 工作流
起步成本 要搭环境、写代码 说清楚步骤即可开跑
用例表达 代码块 + 断言 自然语言描述
改版影响 元素定位失效需改脚本 按屏幕内容执行,更抗改版
多机型 逐套环境分别配 设备分组统一选
结果查看 测试报告框架 执行历史统一记录

这条路盖不住完整的测试工程。它针对的是快速验证和重复回归。工具是 iEasyRun,装在自己电脑上就能跑,支持安卓、iOS、鸿蒙,多台手机放在一起管。

用对话说步骤,再用工作流存下来

先按 安装选型页 装好工作站和手机端程序,在 设备 页确认测试机在线。离线设备只能看,不能跑。

然后到 对话 页新建会话,选中在线测试机,用大白话把用例讲一遍。说清楚三件事:

  1. 前置条件:从哪个界面开始,需要先登录还是先清数据。
  2. 操作步骤:先点哪、再输入什么、等什么界面出现。
  3. 预期结果:界面应该出现什么文字、跳转到哪个页面。

对话页底部有「咨询 | 执行 | 细化」,按用例清楚到哪一步来选。

执行:步骤你已经清楚,直接发指令,AI 马上规划,并在真机上操作。

细化:只知道要测什么,步骤还没想全。先多轮把界面、顺序、边界条件补全,整理成可执行步骤,再切到「执行」。

咨询:只问写法,不控测试机。

一条可以照抄起步的描述:

打开应用,用测试账号登录,进入「我的」页面,点击头像进入个人资料,修改昵称为 test001,保存后返回上一页,确认昵称显示为 test001。

细化时沉淀下来的描述,可以存到 提示词 页。同一条用例下次再跑,直接调出来。

对话适合试。某条用例连续几次都跑得稳,就存下来,免得每次重新描述。

在 工作流 页的工作流库里新建一条,进画布编辑。常见步骤有「启动自动化环境」「等待」「打开应用」「手势-滑动」,把用例排成固定顺序。

画布能力 在测试场景里的用途
校验 上线前检查步骤连线与参数,避免跑一半才暴露配置错误
排版 步骤变多后自动整理布局,用例结构一眼看清
AI 工作流协作 让 AI 帮忙生成或补充步骤,长用例不必从零搭
试跑 选一台测试机先验证模板,再推广到整组设备

账号、昵称、关键词这类每次可能变的内容,留成参数,不要写死在模板里。运行时再传入。一条「修改昵称」模板可以做正常值,也可以跑边界值。

配好之后先试跑一台测试机。试跑结果进执行历史,和正式执行的记录格式一样,方便对照。

执行历史怎么看,多机型怎么分组

结果汇总在 执行历史 页。每条记录有四项:任务来源(对话会话、定时任务,还是工作流试跑)、执行状态(成功、失败或进行中)、目标设备、错误信息。失败时看错误信息里的日志摘要。

多机型回归时,按目标设备筛选,能看出是哪台机器、哪个系统版本出了问题。

报错里的词可以直接对上处理动作:

  • 「自动化环境」,回安装页检查手机端设置
  • 「设备离线」,回设备页排查连接状态
  • 「未授权 / 已过期」,在工作流库查看模板状态
  • 找图或识别失败,补 找图模板,或检查 能力与模型 里的相关配置

机型少的时候,差异还不明显。设备一多,就难对上是哪一台。在 设备 页按四步走:扫描、入库、起别名、分组。

测试机可以按两种方式分组。

按系统版本,比如「安卓 13」「安卓 14」「iOS 17」,用来看兼容性差在哪。

按用途,比如「冒烟机」「回归机」,把执行频率不同的机器分开。

分好组之后,下发回归任务时按组选设备,一次覆盖组内所有在线手机。每台独立执行同一条用例模板。新来一台测试机,入库并归到对应分组,后面的任务会带到它。

流程稳定后,用 定时 页把回归放到固定时间。配置工作流定时,选模板和目标分组,设好时间规则,到点自动执行。三条前提和别的定时任务一样:电脑上的工作站保持开启,调度在本地,没有云端;目标设备在线,或者到点能自动连上;走 USB 的设备,到点时连接仍然可用。

适合做什么,什么还得用原来的框架

适合交给它的,是关键路径冒烟、发版前的重复回归、多机型一致性验证、界面元素和文案在不在屏幕上。这些步骤明确,要反复跑,对响应速度要求不高。

仍然用原来那套的,是要精确断言数值和接口返回的测试、复杂并发和性能指标、以及要嵌进 CI、产出结构化测试报告的场景。iEasyRun 提供的是真机操作和执行记录,没有完整的测试报告框架。回归里点得最多的那部分可以交给它,断言和报告留在原来的框架里。

用例改成按屏幕内容执行之后,改版时少回去改元素定位。接一台测试机,挑一条最常跑的用例,用对话跑通,再存成工作流。跑顺之后再按机型分组,加上定时。软件完全免费,没有付费墙,装在自己电脑就能跑,数据留在本地。装法见 安装选型。

常见问题

不写代码真的能做移动端 UI 自动化测试吗?
可以。用自然语言在「对话」页描述用例,AI 在真机上执行;需要反复回归时,把用例存成「工作流」模板,下次选手机直接跑,全程不需要写脚本。
这种方式和 Appium 是什么关系?
定位不同。Appium 靠代码维护元素定位与断言,适合结构化的大型测试工程;这套方式面向快速验证与重复回归,用描述驱动、按屏幕内容执行,改版时更省维护。
App 改版后用例会失效吗?
AI 依据屏幕内容判断操作对象,比写死的元素定位更抗改版。如果出现纯图标按钮或识别不准的位置,补一条「找图模板」描述它长什么样即可恢复。
怎么查到用例在哪一步失败、报错是什么?
在「执行历史」页查看。每条记录包含任务来源、执行状态、目标设备和错误信息,常见原因有设备离线、自动化环境未就绪、工作流未授权、找图识别失败。
多机型测试要一台台配吗?
不用。把测试机在「设备」页入库、起别名,再按机型或系统版本分组。运行时按分组选择目标设备,同一批用例就能覆盖组内多台真机。
这些测试机必须一直插着数据线吗?
不一定。iEasyRun 支持插 USB 和连 WiFi 两种接法。要保证的是执行时设备在线——离线设备只能看不能跑,插 USB 的到点那一刻连接也要正常。
能只跑一条冒烟用例,不做完整回归吗?
可以。用例颗粒度由你自己定。常见做法是日常用对话快速跑关键路径冒烟,发版前用工作流定时对整组设备跑一遍回归模板。
测试过程中产生的数据安全吗?
iEasyRun 本地运行在自己电脑上,不需要服务器,设备和任务数据留在本机。具体说明可以看站内的安全与多租户文档。

开始使用

让真机回归测试,先从一句话开始

软件完全免费,装在自己电脑就能跑。手边的测试机都能接进来。