这里要说的 uiautomator2 是一个 python 库,用于 Android 的 UI 自动化测试,项目地址https://github.com/openatx/uiautomator2. 项目发源于 xiaocong 的uiautomator这个项目,新项目最大的改变要数原来手机必须数据线连接电脑的,但是使用了 uiautomator2 这个项目,就可以用 WiFi 代替 USB 连接电脑了。简单来说就是可以不用数据线了。
第一步还是需要手机连接到电脑的。电脑使用 adb 向手机推送了一个二进制文件: atx-agent. 然后启动这个程序,程序自身屏蔽掉 SIGHUP 信号,这样数据线断开之后,程序就不会被杀掉了。
第二步拔掉数据线,保持手机的 Wifi 开启,并且一直有电的状态。
第三步 atx-agent 实际上还是一个 http 服务器,运行在电脑上的 python 程序使用 HTTP 协议跟手机上 atx-agent 通信,atx-agent 随后启动 uiautomator.apk 这个应用,将收到的请求转换成 UiAutomator 的 UI 自动化操作。
push 文件到手机上?
这里使用的是 http 文件上传
从手机上 pull 文件到电脑上?
这里使用的是 http 的文件下载
adb install
如何实现?
先上传 apk 文件到手机上,然后调用pm install
达到一样的效果
还想要adb shell
终端怎么办?
为此我专门写了一个网页版的 web terminal, 用的是流行的 term.js
这个项目目前还属于火热的开发状态,随时关注项目主页的 README https://github.com/openatx/uiautomator2. 里面有足够多的信息,保证让你可以学会如何使用。
还有更多问题欢迎留言。