最近在学习 Android UI 自动化框架,期间遇到了一些问题,以此记录。
uiautomator2 是 Android UI 自动化测试的一种框架,底层基于 Google uiautomator,支持 Python 语言编程。
第一步:安装 adb
(参考:mac安装adb工具Mac安装adb)
(参考:Mac OS最简方式安装adb)
1. mac 环境下最简单的安装方式:
brew cask install android-platform-tools
2. 检查 adb 是否运行成功:
adb devices
3. 查看安装的位置:
brew cask info android-sdk
(最终 adb 安装在了 /usr/local/bin 路径下)
第二步:安装 uiautomator2
pip3 install -U uiautomator2
第三步:连接设备(Honor V10)到 PC
(参考:Python+uiautomator2 UI自动化测试)
Python-uiautomator2 连接到手机的方式有两种,一种是通过 WIFI(更方便),另一种是通过USB(更稳定)。
1. 通过 WIFI 连接
import uiautomator2 as u2
d = u2.connect_wifi("你的手机 IP")
获取手机 IP:设置 - 系统 - 关于手机 - 状态消息 - IP 地址(如下图)
(参考:华为手机怎么看网络IP地址?华为手机查看网络IP地址两种方法)
2. 通过 USB 连接
import uiautomator2 as u2
d = u2.connect_usb("你的手机序列号")
通过 adb devices 获取序列号(如下图)
3. 直接连接,自动分辨是哪种连接方式
import uiautomator2 as u2
d = u2.connect("你的手机 IP/序列号")
连接成功的提示:
期间遇到的问题
1. RuntimeError:“USB device …… is offline”
说明手机没有连接成功
(参考:android adb devices offline的解决办法)
2. “List of devices attached”
说明手机没有连接成功
(参考:Android 设备adb连接后unauthorized解决方法)
3. “unauthorized”
说明手机没有连接成功
连接成功之后的终端如下图:
4.
小 Tips
1. 要想设备连接 PC 成功,要具备以下几个要素:
(1) 打开开发人员选项 (系统 - 关于手机 - 多次点击 “版本号”)
(2) 打开 USB 调试
(3) USB 连接方式是 传输照片 或 传输文件