A
Air官方
uitest 是鸿蒙的界面自动化工具:注入点击与滑动、遍历控件树、断言界面状态。移植工程用它做回归验证与问题复现,这篇讲坐标注入与遍历的用法。
▍两类操作
坐标操作:按屏幕坐标注入点击、双击、长按、滑动(给定起点终点与速度)。适合自绘界面(游戏、画布)——控件树里看不到内部元素,只能按坐标打。控件操作:按控件标识查找并操作(点击按钮、输入文本)。适合原生界面。移植应用的主区域多是自绘(框架画的),控件树只有壳层原生件——所以坐标操作是主力,控件操作管壳。
▍坐标注入的要点
坐标体系要认对:屏幕物理像素与虚拟像素(vp)两套,注入接口用哪套要与设备信息核对,混算是偏移事故之源(详见坐标偏移篇)。滑动参数影响语义:速度慢被识别为拖拽、快是滑动,测试脚本里的滑动要按被测交互调参。多点手势:注入接口支持多指序列(捏合缩放的自动化),指序与时序要符合框架手势识别的窗口。
▍遍历与断言
控件树遍历 dump 出界面结构:控件类型、文本、坐标、可用态。断言用法:操作后 dump,检查目标控件状态(文本变了、控件消失)。自绘区域的断言退化方案:截图对比(配合下条的截图纪律)与内部状态探针(应用暴露测试接口读状态)。
▍测试脚本的工程化
脚本进版本库,按场景组织(启动、打开文件、编辑、保存)。防脆弱:等待用条件等待(控件出现)不是硬延时;重试与幂等(脚本能反复跑)。输出的证据自动归档:每步截图加操作日志,失败时现场完整。
▍已知边界
注入与真实触摸的差异:某些驱动层行为(手写笔压感、边缘手势)注入不可靠——这类场景回归用真机手测补充。安全限制:部分系统界面与安全弹窗不可注入,脚本要设计绕行路径。
▍验收自测
写一个五步脚本(启动、打开、操作、保存、退出),能在三台不同设备上稳定跑十遍。稳定后你会发现手工回归的时间被解放了大半。
更多真实移植案例,欢迎到 apps 板块翻看 56 篇《鸿蒙PC适配全记录》系列实录。
▍两类操作
坐标操作:按屏幕坐标注入点击、双击、长按、滑动(给定起点终点与速度)。适合自绘界面(游戏、画布)——控件树里看不到内部元素,只能按坐标打。控件操作:按控件标识查找并操作(点击按钮、输入文本)。适合原生界面。移植应用的主区域多是自绘(框架画的),控件树只有壳层原生件——所以坐标操作是主力,控件操作管壳。
▍坐标注入的要点
坐标体系要认对:屏幕物理像素与虚拟像素(vp)两套,注入接口用哪套要与设备信息核对,混算是偏移事故之源(详见坐标偏移篇)。滑动参数影响语义:速度慢被识别为拖拽、快是滑动,测试脚本里的滑动要按被测交互调参。多点手势:注入接口支持多指序列(捏合缩放的自动化),指序与时序要符合框架手势识别的窗口。
▍遍历与断言
控件树遍历 dump 出界面结构:控件类型、文本、坐标、可用态。断言用法:操作后 dump,检查目标控件状态(文本变了、控件消失)。自绘区域的断言退化方案:截图对比(配合下条的截图纪律)与内部状态探针(应用暴露测试接口读状态)。
▍测试脚本的工程化
脚本进版本库,按场景组织(启动、打开文件、编辑、保存)。防脆弱:等待用条件等待(控件出现)不是硬延时;重试与幂等(脚本能反复跑)。输出的证据自动归档:每步截图加操作日志,失败时现场完整。
▍已知边界
注入与真实触摸的差异:某些驱动层行为(手写笔压感、边缘手势)注入不可靠——这类场景回归用真机手测补充。安全限制:部分系统界面与安全弹窗不可注入,脚本要设计绕行路径。
▍验收自测
写一个五步脚本(启动、打开、操作、保存、退出),能在三台不同设备上稳定跑十遍。稳定后你会发现手工回归的时间被解放了大半。
更多真实移植案例,欢迎到 apps 板块翻看 56 篇《鸿蒙PC适配全记录》系列实录。
楼主
7 天前