SuperAPI AI 工具集

uiautomator2

测试与质量

查看项目

更新于 10-21 16:20

技能介绍

uiautomator2 是一个用于自动化 Android 设备的 Python 包,本技能通过其提供的 u2cli 命令行工具来操作安卓设备。

用途

该技能适用于需要通过命令行脚本控制 Android 设备的场景,例如 UI 自动化、元素定位分析、应用管理与输入模拟。

主要能力

设备命令:dump-hierarchy 转储当前 UI 层级用于分析和元素选择,默认输出经过压缩,便于配合 grep 使用,仅在需要完整未压缩层级时使用 --raw;screenshot 截取当前屏幕并保存到本地文件,输出文件路径和大小;app-current 获取当前前台应用包名和 Activity;device-info 显示设备信息;window-size 显示屏幕窗口尺寸;shell 在设备上运行 shell 命令,可用 --timeout 设置超时。

应用命令:app-start 按包名启动应用,支持 --activity、--wait、--stop;app-list 列出已安装包;app-stop 按包名停止应用;app-install 安装 APK;app-uninstall 按包名卸载应用;app-clear 按包名清除应用数据。

输入命令:press 按下硬件或 Android 按键;send-keys 向聚焦的输入框输入文本,默认先清空,使用 --no-clear 保留已有文本;clear-text 清空聚焦输入框文本;click 点击坐标或选择器,坐标用 X Y,也支持比例坐标和 --text、--resource-id、--description、--class-name 等选择器选项;double-click 双击坐标,需提供 X Y,不支持选择器;long-click 长按坐标或选择器,支持 --duration 和 --timeout;swipe 从一点滑动到另一点,参数为 FX FY TX TY,支持 --duration、--steps、--scale;drag 从一点拖拽到另一点,参数为 SX SY EX EY,支持 --duration。

选择器命令:exists 检查选择器是否存在,支持 --timeout;wait 等待选择器出现,使用 --gone 等待其消失,支持 --timeout;scroll 滚动选择器,支持 --direction vert|horiz、--action forward|backward|toEnd|toBeginning、--max-swipes、--to-text 以及选择器选项。

系统 UI 命令:open-notification 打开通知栏;open-quick-settings 打开快捷设置;open-url 在设备上打开 URL。

使用方式

使用 u2cli <command> [args] 运行命令。当连接多个 Android 设备时,使用 u2cli -s <serial> <command> [args] 指定设备。文档中的示例仅展示 <command> [args],实际运行时需在前面加上 u2cli。

常用选择器选项

可用于 click、long-click、exists、wait、scroll 等基于选择器的命令。文本选择器:--text、--text-contains、--text-matches、--text-starts-with。描述选择器:--description、--description-contains。资源与类选择器:--resource-id、--class-name、--package。状态选择器:--selected、--focused、--enabled、--scrollable、--clickable、--checked、--checkable。位置选择器:--instance、--index。子选择器:使用 --child KEY=VALUE 或 --child-text、--child-resource-id、--child-class-name、--child-clickable、--child-index 追加子选择器层级。

适用场景

适合需要脚本化控制安卓设备、进行 UI 自动化测试、批量管理应用或模拟用户输入的场景。

限制

资料未提供关于收费、价格、平台兼容范围、性能效果等方面的信息,暂未提供。