uiautomator2 使用

时间:2019-08-31
本文章向大家介绍uiautomator2 使用,主要包括uiautomator2 使用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

初始化

部署相关的守护进程。

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

python -m uiautomator2 init

安装完成,设备上会多一个uiautomator的应用(ATX)。打开页面如下:

 测试

编写以下脚本进行验证:

python
import uiautomator2 as u2
d = u2.connect('10.59.8.231')//查看手机连接IP地址
print(d.info) //打印手机信息
exit() //退出python

运行结果:

定位元素:

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

GitHub地址:https://github.com/openatx/weditor

1、安装:

pip install --pre --upgrade weditor

安装成功如下:

2、使用:

python -m weditor

 默认会自动通过浏览器打开页面:http://localhost:17310/

在页面左上角选择Android,输入设备IP(10.59.8.231),点击Connect按钮。

当我们操作完手机后,可以点击“Dump Hierarchy”按钮进行刷新,从而保持与设备上的界面保持同步。weditor 还可以帮我们生成代码。待研究~

小结:这里基本不会有什么坑,按照以上流程会ok~

编写测试脚本

这里直接从这里拿过来,后面待细细研究

import uiautomator2 as u2
from time import sleep

d = u2.connect('192.168.31.234')

# 启动App
d.app_start("com.meizu.mzbbs")

# 搜索
d(resourceId="com.meizu.mzbbs:id/j0").click()

# 输入关键字
d(resourceId="com.meizu.mzbbs:id/p9").set_text("flyme")

# 搜索按钮
d(resourceId="com.meizu.mzbbs:id/tp").click()

sleep(2)

# 停止app
d.app_stop("com.meizu.mzbbs") 

app_start()和app_stop()用于启动和停止应用。

常用的定位方式:

    • ResourceId定位:
      d(resourceId="com.meizu.mzbbs:id/tp").click()

    • Text定位:
      d(text="精选").click()

    • Description定位:
      d(description="..").click()

    • ClassName定位:
      d(className="android.widget.TextView").click()

 


 

  

  

原文地址:https://www.cnblogs.com/helloTerry1987/p/11440819.html