Python控制安卓模拟器或真实手机时,最常用和好用的模块是uiautomator2(因为美亚等大公司的软件都是使用uiautomator2),而最常用和好用的调试助手是weditor(因为其他的象UIautomatorviewer、Appium我都试过,不太好用)。
要操控安卓系统,需要做一些初始化的工作。简言之:
一是要在Python中安装weditor和uiautomator2两个库。前者是为了直观的查看、获取安卓系统APP内的元素特征信息,供写代码用;后者是写代码必需要用到的库。
二是要在安卓系统中安装一个被控端代理软件ATX,接受uiautomator2的命令并在安卓系统中转化为具体动作。
uiautomator2与ATX里应外合,从而实现对安卓系统的控制。
说起来简单,但实际操作中,经常会遇到各种错误。原因基本上都是版本号的问题。
下面以Windows10 64位 + PyCharm2022.3.2 + python3.10.4 +逍遥模拟器8.1.0 环境为例来说明。
第一步,安装weditor和uiautomator2两个库。为保证成功,我先将国内镜像服务器地址https://pypi.tuna.tsinghua.edu.cn/simple/添加到了PyCharm的安装包地址库中(如果你的界面跟我的不一样,请更新PyCharm至2022年版本)。如下图:
注意:在安装weditor时,一定要选择0.6.4版本,更高版本则会报错!
第二步,在安卓系统中安装控端代理软件ATX。先打开逍遥模拟器,然后在CMD窗口执行一行命令python -m uiautomator2 init,就会在安卓系统中自动安装了。
如下图:
经以上操作后,就可以开始编写代码工作了。
先查看模拟器或手机的地址和端口号。在逍遥模拟安装目录下运行abd.exe devices命令:
注意:如果连接不上,很大可能是adb.exe的版本问题,请百度一下可用的版本。特别是雷电模拟器,自带的adb.exe版本不行。
再在python目录下运行weditor.exe命令,在浏览器中启动可视化界面工具:
在这里可以捕获元素信息,还可以进行代码测试。
注意:如果提示连接不上的错误,大多数原因是因为weditor版本问题。
接下来,就可以编写代码,自由自在地控制安卓系统了。
本文适合有一定基础的码农,不适合还未入门者。
我在CMD窗口中输入命令时,都已经进入命令所在的相应文件夹。如果你没有将路径添加到Windows环境的Path变量中,也请象我一样进入相应文件夹,再执行命令。
来源地址:https://blog.csdn.net/mcw_720624/article/details/128984130