这篇文章将为大家详细讲解有关如何在python中使用UIAutomator2,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
一、环境要求
python android 4.4 + 3.6 +
二、介绍
UIAutomator2是一个可以使用python对android设备进行UI自动化的库。其底层基uiautomator于谷歌,谷歌提供的uiautomator库可以获取屏幕上任意一个应用的任意一个控件属性,并对其进行任意操作。
三、库地址
GitHub地址:
https://github.com/openatx/uiautomator2 https://github.com/openatx/uiautomator2/blob/master/README.md
四、安装
1,安装UIAutomator2
pip install ——pre uiautomator2 pip install  pillow (如果需要截的图,可安装这个库)
2,设备安装atx-agent
首先设备连接到电脑,并能够亚行设备发现该设备。
引用>
执行下面的命令会自动安装本库所需要的设备端程序:uiautomator-server, atx-agent, openstf/minicap openstf/minitouch#, init就是所有USB连接电脑的手机上都安装uiautomator2 python -m  uiautomator2 init , #,指定手机安装uiautomator2,,用——镜子 python -m  uiautomator2 init ——mirror ——serial 串行美元 #,嫌弃慢的话,可以用国内的镜像 python -m  uiautomator2 init 镜子——最后提示成功,代表atx-agent初始化成功。
3,安装weditor
有了这个,方便我们快速的识别手机上的元素,方便写代码pip install -U weditor安装好之后,就可以在命令行运行<强> weditor——帮助强>确认是否安装成功了。
Windows系统可以使用命令在桌面创建一个快捷方式:
weditor ——快捷方式在cmd窗口中执行上述命令后,会在桌面上创建一个快捷方式,如下图:
启动方法:
方法1。命令行直接输入<强> weditor 强>会自动打开浏览器,输入设备的ip或者序列号,点击连接即可。
引用>
方法2。桌面上双击weditor快捷方式即可。
方法3。命令行中执行python - m weditor <强> 强>启动后如下图:
五,应用及操作
<强>调用UIAutomator2的过程强>
配置手机设备参数,设置具体操作的是哪一台手机
引用>
抓取手机上应用的控件,制定对应的控件来进行操作
对抓取到的控件进行操作,比如点击,填写参数等。<强>设备连接方法,有两种强>:
python-uiautomator2连接手机的方式有两种,一种是通过WIFI,另外一种是通过USB。两种方法各有优缺点。
引用>
WIFI最便利的地方要数可以不用连接数据线,USB则可以用在电脑和手机网络不在一个网段用不了的情况。(1)通过WIFI,假设设备IP 192.168.0.107和您的电脑在同一网络中
import uiautomator2 as u2 时间=d u2.connect (& # 39; 192.168.0.107& # 39;)(2)通过USB、假设设备序列是123456789 f
import uiautomator2 as u2 时间=d u2.connect (& # 39; 123456789 f # 39;), #, USB链接设备,或者u2.connect_usb (& # 39; 123456 f # 39;) # d =, u2.connect_usb(),或者,d =, u2.connect(),,当前只有一个设备时可以用这个在没有参数的情况下调用u2.connect (), uiautomator2将从环境变量ANDROID_DEVICE_IP获取设备IP。如果这个环境变量是空的,uiautomator将返回connect_usb,您需要确保只有一个设备连接到计算机。
<>强检查并维持设备端守护进程处于运行状态:强>
d.healthcheck ()<>强打开调试开关:强>
d.debug =,真的 d.info<>强安装应用,只能从URL安装:强>
d.app_install (& # 39; http://some-domain.com/some.apk& # 39;), #引号内为下载apk地址<>强启动应用:强>
d.app_start (& # 39; com.eg.android.AlipayGphone& # 39;), #引号内为包名称,这里为支付宝<强>停止应用:强>
#相当于& # 39;am force-stop& # 39;强制停止应用 d.app_stop (& # 39; com.eg.android.AlipayGphone& # 39;), #相当于& # 39;pm 明确# 39;,清空应用程序数据 d.app_clear (& # 39; com.eg.android.AlipayGphone& # 39;)如何在python中使用UIAutomator2