pythonuiautomator2教程_uiautomator2使用教程

部署相关的守护进程。

电脑连接上一个手机或多个手机, 确保adb已经添加到环境变量中,执行下面的命令会自动安装本库所需要的设备端程序:uiautomator-server 、atx-agent、openstf/minicap、openstf/minitouch

python -m uiautomator2 init

安装完成,设备上会多一个uiautomator的应用。

配置手机设备参数:

有两种方法,一种是通过WIFI,另一种是通过USB数据线将手机链接电脑。 WiFi连接更方便一点,需要保持PC和手机使用的一个WIFI,查看手机连接WIFI的IP地址。

3、测试

import uiautomator2 as u2

d = u2.connect('127.0.0.1::6555')

print(d.info)

打印结果:

{'currentPackageName': 'com.android.launcher', 'displayHeight': 1280, 'displayRotation': 1, 'displaySizeDpX': 360, 'displaySizeDpY': 640, 'displayWidth': 720, 'productName': 'DUK-AL20', 'screenOn': True, 'sdkInt': 23, 'naturalOrientation': False}

五、元素定位

1、查看app控件

我们可以借助Android SDK自的uiautomatorviewer查看元素,这就要求手机必须以USB的方式连接PC,我前面使用的是WIFI连接进行连接的。所以,openatx提供了另外一个工具weditor 来解决这个问题。

(1)、安装:

pip install --pre --upgrade weditor

(2)、使用

python3 -m weditor

(3)、工具打开

默认会通过浏览器打开页面:http://atx.open.netease.com/

(4)工具的操作步骤

选择android、输入手机或者模拟器的ip+端口,点击connect

dump hierarchy是用来刷新页面的

鼠标点击想要的元素,就可以查看他们的控件了

2、主要语法

(1)启动app

d.app_start("com.addcn.android.house591")

(2)关闭app

cls.d.app_stop("com.addcn.android.house591")

(3)ResourceId定位

cls.d(resourceId="com.addcn.android.house591:id/ad_banner").click()

(4)Text定位

d(text="精选").click()

(5)Description定位

d(description="..").click()

(6)ClassName定位

d(className="android.widget.TextView").click()

(7)xpath定位

d.xpath("//*[@content-desc='分享']").click()

(8)

3、其他操作

(1)#组默认元素等待超时(秒)

cls.d.wait_timeout = 20.0 #默认20

(2)元素拖拽

(3)开关点击

d(A).left(B), selects B on the left side of A.

d(A).right(B), selects B on the right side of A.

d(A).up(B), selects B above A.

d(A).down(B), selects B under A.

例如: #选择“Wi-Fi”右侧的“开关”

d(text="Wi‑Fi").right(className="android.widget.Switch").click()

(4)获取/统计某个相同条件的数目

d(text="Add new").count

或者

len(d(text="Add new"))

得知数目之后,我们可以通过索引去定位

d(text="Add new")[0]

d(text="Add new")[1]

也可以遍历

for view in d(text="Add new"):

view.info

(5)截图

#截取屏幕截图并保存到计算机上的文件中,要求Android> = 4.2。 d.screenshot( “ home.jpg ”) # get PIL.Image格式化图像。当然,你需要首先安装pillow

image = d.screenshot() # default format =“pillow” image.save( “ home.jpg ”)#或home.png。目前,只有PNG和JPG支持

#得到OpenCV的格式图像。当然,你需要先安装numpy和cv2

import cv2

image = d.screenshot( format = ' opencv') cv2.imwrite( ' home.jpg '图像)#获取原始JPEG数据 imagebin = d.screenshot(格式= '原始') 打开( “ some.jpg ”, “ WB ”).WRITE(imagebin)

(6)手势操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值