python-uiautomator2 安装教程

目录

一、简介

二、支持平台及语言

三、工作原理

四、安装


一、简介

uiautomator2是一个python库,用于Android的UI自动化测试,其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。

GitHub地址:GitHub - openatx/uiautomator2: Android Uiautomator2 Python Wrapper

二、支持平台及语言

python-uiautomator2封装了谷歌自带的uiautomator2测试框架,提供便利的python接口。他允许测试人员直接在PC上编写Python的测试代码,操作手机应用,完成自动化,大大提高了自动化代码编写的效率。

三、工作原理

如图所示,python-uiautomator2主要分为两个部分,python客户端,移动设备。

  1. python端:运行脚本,并向移动设备发送HTTP请求
  2. 移动设备:移动设备上运行了封装了uiautomator2的HTTP服务,解析收到的请求,并转化成uiautomator2的代码。

整个过程:

  1. 在移动设备上安装atx-agent(守护进程),随后atx-agent启动uiautomator2服务(默认7912端口)进行监听。
  2. 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)。
  3. 移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作。

四、安装

(1)在大多数情况下,使用pip进行安装是最简单也是最直接的方法。你只需要在命令行中执行以下命令:

pip3 install  uiautomator2

(2)执行完毕后,uiautomator2就会被安装到你的Python环境中。你可以通过运行下列命令来检查安装是否成功。

python -m uiautomator2 init

执行“python -m uiautomator2 init”命令,会自动往手机上安装一堆东西:

  • app-uiautomator.apk
  • app-uiautomator-test.apk
  • atx-agent
  • minicap
  • minitouch

当PC或Linux服务器连接了多台adb device的情况下,“python -m uiautomator2 init”默认初始化的是所有设备,若指定设备初始化,则需使用“--serial”参数:

python -m uiautomator2 init --serial $SERIAL  
# $SERIAL为手机序列号,可通过adb devices查看

(3)然后,新建一个py文件,通过运行代码来查看环境是否配置成功。

注意:在运行这段代码之前,需要确保 Android 设备已经通过 USB 连接到计算机,并且设备已经开启了 USB 调试模式。

# 使用uiautomator2进行设备连接
import uiautomator2 as u2

d = u2.connect() # connect to device
print(d.info)

这行代码调用 uiautomator2 对象的 connect() 方法来尝试连接到一台 Android 设备,并将连接后的设备对象赋值给变量 driver 。connect() 方法默认会尝试连接通过 USB 连接到计算机的第一台 Android 设备。如果需要连接指定序列号的设备,可以在 connect 方法中传入设备序列号。

设备对象 driver 的 info 属性,该属性包含了设备的各种信息,如屏幕分辨率、电池电量、系统版本等。

运行代码,这时看到类似下面的输出,就可以正式开始用我们这个库了。

OK,安装到此就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值