如何在python中使用UIAutomator2

  介绍

这篇文章将为大家详细讲解有关如何在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窗口中执行上述命令后,会在桌面上创建一个快捷方式,如下图:

如何在python中使用UIAutomator2

启动方法:

方法1。命令行直接输入<强> weditor 会自动打开浏览器,输入设备的ip或者序列号,点击连接即可。
方法2。桌面上双击weditor快捷方式即可。
方法3。命令行中执行python - m weditor <强>

启动后如下图:

如何在python中使用UIAutomator2

五,应用及操作

<强>调用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