UiSelector定位方式

2022-04-08  本文已影响0人  测试探索

一、选取方式

Text文本选取方式

text:全文本匹配
textContains:文本包含
textMatches:正则表达式
textStartsWith:起始文本
该流程为,打开设置,并且点击连接与共享按钮

import uiautomator2 as u2
d = u2.connect_wifi("192.168.101.65")
print(d.info)

#可以通过aapt这个工具来获取报名,是获取的apk的包名,设置这个app的apk
#通过weditor获取包名,com.android.settings,如下图一为获取方式
d.app_start(package_name="com.android.settings")
#全文本匹配
# d(text="连接与共享").click()
#文本包含
d(textContains = "共享").click()
image.png
className选取方式

className:className匹配
classNameMatches:className正在表达式匹配

import uiautomator2 as u2
d = u2.connect_wifi("192.168.101.65")
print(d.info)

#可以通过aapt这个工具来获取报名,是获取的apk的包名,设置这个app的apk
#通过weditor获取包名,com.android.settings
d.app_start(package_name="com.android.settings")
#通过className获取控件定位的时候,需要注意层级关系
d(className = "android.widget.TextView")[4].click()
image.png
resourceId资源ID获取方式

resourceId:全资源ID匹配
resourceIdMatches:正则表达式匹配

import uiautomator2 as u2
d = u2.connect_wifi("192.168.101.65")
print(d.info)
#可以通过aapt这个工具来获取报名,是获取的apk的包名,设置这个app的apk
#通过weditor获取包名,com.android.settings
d.app_start(package_name="com.android.settings")

#通过资源ID来定位控件
d(resourceId = "android:id/title")[4].click()
#在resourceId中可以通过多个条件进行限定,比如instance为下标,text为文本,以下代码与上相同点击效果
d(resourceId = "android:id/title",instance = 4).click()
d(resourceId = "android:id/title",text = "蓝牙").click()
image.png
链式定位方式
import uiautomator2 as u2
d = u2.connect_wifi("192.168.101.65")
print(d.info)

#可以通过aapt这个工具来获取报名,是获取的apk的包名,设置这个app的apk
#通过weditor获取包名,com.android.settings
d.app_start(package_name="com.android.settings")
#通过className获取到父类,通过text方法,“蓝牙”进行点击
d(className = "androidx.recyclerview.widget.RecyclerView").child(text = "蓝牙").click()
#下面代码等价于上面一行
d(className = "androidx.recyclerview.widget.RecyclerView").child_by_text("蓝牙",resourceId = "android:id/title").click()
image.png
坐标点进行定位
d.click(0.496, 0.366)
坐标点定位选取位置
上一篇下一篇

猜你喜欢

热点阅读