溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Appium for Android元素定位方法

發(fā)布時間:2020-03-01 09:57:39 來源:網(wǎng)絡(luò) 閱讀:5917 作者:niedongri 欄目:移動開發(fā)

Appium定位元素的方法有很多,比如經(jīng)常用的by_name、by_resource-id、by_classname

下面介紹下通過UI Automator方法來定位元素的方法,而且這些方法定位都比較準。

先假設(shè)我們通過UiAutomator定位到的元素部分屬性如下:
Index 1
Text xxx
Resource-id android:id/text1
Class android.widget.TextView
Content-desc xxx

一、 通過Text屬性定位

直接通過text名稱定位:
Driver.find_element_by_android_uiautotmator(‘new UiSelector().text(“xxx”)’)

查找某個字符串包含有xxx的元素
Driver.find_element_by_android_uiautomator(‘new UiSelector().textContains(“xxx”)’)

某個以x打頭的元素
Driver.find_element_by_android_uiautomator(‘new UiSelector().textStartWith(“x”)’)

通過Matches方法查找
Driver.find_element_by_android_uiautomator(‘new UiSelector().textMatches(“^xx.*”)’)

二、 通過class屬性定位

通過class名稱查找:
driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.TextView").text("xxx")')

匹配text是xxx并且classname含有TextView的元素:
driver.find_element_by_android_uiautomator('new UiSelector().classNameMatches(".*TextView$").text("xxx")')

三、 Xpath方法定位

通過同級元素定位同級元素,yyyy為同級元素節(jié)點text名稱
driver.find_element_by_android_uiautomator('new UiSelector().text("xxx").fromParent(new UiSelector().text("yyyy"))')

通過父級元素定位子元素 ListView為父級節(jié)點classname
driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.ListView").childSelector(new UiSelector().text("xxx"))')

四、 resourceId屬性定位

通過resourceId定位:
driver.find_element_by_android_uiautomator('new UiSelector().resourceId("android:id/text1")')

通過matches方法定位:
driver.find_element_by_android_uiautomator('new UiSelector().resourceIdMatches(".*id/text1$")')

好了,先介紹很多吧,對元素進行操作的一些方法及獲取元素的屬性值都與web的類似。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI