作者:虛壞叔叔
早餐店不會開到晚上,想吃的人早就來了!😄
UiSelector文本、className定位方式
一、文本定位方式
文本定位方式,有以下四種方式
1.1 文本定位api
1.1.1 Text文本定位方式
- text 全文本比對
- textContains 文本包含
- textMatches 正規表達式
- testStartsWith 起始文本
1.1.2 description文本選取方式
- description全文本比對
- descriptionContains 文本包含
- descriptionMatches 正規表達式
- descriptionStartsWith 起始文本
1.2 執行個體示範
通過打開考研幫app,點選密碼登入。
1.3 如何擷取“考研幫app”功能的包的名稱
app打開設定功能後,在weditor中可以看到:
com.tal.kaoyan
1.3.1 文本執行個體代碼
# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# 全文本比對
d(text="密碼登入").click()
# 文本包含
d(textContains="密碼").click()
# 正規表達式
d(textMatches="密碼.{2}").click()
# 起始文本
d(testStartsWith ="密碼登").click()
二、className定位方式
2.1 className選取方式
- className 完整比對
- classNameMatches 正規表達式比對
2.2 執行個體示範
通過搜尋找到textView位于第二個FrameLayout的第6個位置,是以索引值為5,就能夠定位到這個控件
2.2.1 通過完整比對
# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# className
d(className="android.widget.TextView")[5].click()
這裡也可以換一種表達方式:
# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# className
#d(className="android.widget.TextView")[5].click()
# 通過instance定位
d(className="android.widget.TextView", instance=5).click()
2.2.2 正規表達式比對
# 包名通過weditor擷取
d.app_start(package_name="com.tal.kaoyan")
# className
d(classNameMatches="android\.widget\.TextView", text="密碼登入").click()
三、總結
- 本文介紹了Uiautomator2UiSelector文本、className定位方式。