首先推荐一个很好的资料:https://crifan.github.io/android_automation_uiautomator2/website/core_function/
1 Uiautomator2 模块的安装和环境准备
安装过程比较简单,python 环境准备好之后,通过 pip 即可安装,执行命令:
pip3 install uiautomator2
安装之后,我们在电脑上连接一台要测试的 Android 手机,然后执行
python3 -m uiautomator2 init
该命令是用于初始化我们的测试手机,该过程将安装包含 http rpc 服务的 apk 到手机主要有:atx-agent, minicap, minitouch 等。
我们测试一下环境是否准备 ok,在脚本中执行如下代码:
import uiautomator2 as u2
d = u2.connect(“emulator-5554”)
print(d.info)
emulator-5554 是模拟器的序列号。 在命令行中敲入命令:
adb devices
会显示已有的设备。
如果失败,很有可能是因为打开了代理。参考我的文章: Mac Os 上 使用Uiautomator2报错:HTTP Return code is not 200”, res.text) uiautomator2.exceptions.BaseError:
2 uiautomator2原理
原理是在手机上运行了一个http rpc服务,将uiautomator中的功能开放出来,然后再将这些http接口封装成Python库。Python脚本执行每个操作都会转换成一个对http rpc服务的请求,http rpc服务接受这些请求,并调用原生uiautomator的api实现在手机上的操作。
作者:bluepang
链接:https://www.jianshu.com/p/b1b01fc05980
3 Weditor 安装使用
安装方法:
- 在cmd中的输入命令:
pip3 install weditor
- 启动 :
python3 -m weditor
- 使用 :运行
python3 -m weditor
,之后浏览器会自动打开一个网页 - 然后点击链接已有的设备,我这里是 “emulator-5554”。
确保你使用的是JAVA8,我原来使用的JAVA11,就不行。
4 接下来可以进行的操作
- 安装、启动和停止一个 app
- 上传文件到手机/从手机取得文件
- 控手机的基本事件,主要有亮屏、灭屏、获取屏幕状态、按键、解锁屏幕、点击屏幕、截图等操作
- 元素定位和操作
详细内容,请参考文章
5 写脚本
怎么写脚本可以看一个视频。很简单。