码迷,mamicode.com
首页 > 其他好文 > 详细

uiautomator2 使用

时间:2019-08-31 23:08:02      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:pen   序列号   停止   必须   环境变量   选择   关键字   定位   操作   

初始化

部署相关的守护进程。

电脑连接上一个手机或多个手机, 确保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/

技术图片

连接方式:

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

2、在页面左上角选择Android,输入设备序列号(adb devices获取序列号),点击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()

uiautomator2 使用

标签:pen   序列号   停止   必须   环境变量   选择   关键字   定位   操作   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!