Appium之uiautomator定位元素

2022-07-04 12:48:12 字數 3084 閱讀 9364

元素定位方式有多種,android也有自身獨有的定位方式。下面就單獨介紹其基於uiautomator定位元素的方法:

基本語法:

driver.find_element_by_android_uiautomator(xx)

1).通過text文字定位語法

new uiselector().text("text文字")

#

text

loc_text = '

new uiselector().text("圖書")

'driver.find_element_by_android_uiautomator(loc_text).click()

2).如果文字比較長,可以用textcontains模糊匹配

new uiselector().textcontains("包含text文字")

#

textcontains

loc_textcontains = '

new uiselector().textcontains("圖")

'driver.find_element_by_android_uiautomator(loc_textcontains).click()

3).同樣可以用textstartswith是以某個文字開頭來匹配

new uiselector().textstartswith("以text文字開頭")

#

textstartswith

loc_textstart = '

new uiselector().textstartswith("圖")

'driver.find_element_by_android_uiautomator(loc_textstart).click()

4).也可以用正規表示式textmatches匹配

new uiselector().textmatches("正規表示式")

2.resourceid

與by_id一樣

3.classname頁面上的class屬性一般不唯一,多半用在複數定位時候。此時定位相應下標

classname複數定位

loc_class = '

new uiselector().classname("android.widget.textview")

'driver.find_elements_by_android_uiautomator(loc_class)[2].click()

4.description也是用contenet-des屬性定位

new uiselector().description("contenet-des屬性")

5.組合定位

1).id與text屬性組合

2).class與text屬性組合

#

class+text

class_text = '

classname("android.widget.textview").text("圖書")

'driver.find_element_by_android_uiautomator(class_text).click()

6.關係定位1).父子定位childselector

有時候不能直接定位某個元素,但是它的父元素很好定位,這時候就先定位父元素,通過父元素找兒子

如上定位書架:

#

父子關係childselector

2).兄弟定位fromparent

有時候父元素不好定位,但是跟他相鄰的兄弟元素很好定位,這時候就可以通過兄弟元素,找到同一父級元素下的子元素

如上定位書架:

#

兄弟關係fromparent

brother = '

resourceid("com.baidu.yuedu:id/lefttitle").fromparent(text("圖書"))

'driver.find_element_by_android_uiautomator(brother).click()

Appium之ADB指令詳解

前言 學android測試,adb指令是必學的。圖1一 adb概述 android debug bridge,android除錯橋接器,簡稱adb,是用於管理模擬器或真機狀態的萬能工具,採用了客戶端 伺服器模型,包括三個部分 1 客戶端部分,執行在開發用的電腦上,可以在命令列中執行adb命令來呼叫該...

Appium搭建二 安裝Appium

web自動化測試的路線是這樣的 程式語言基礎 測試框架 webdriver api 開發自動化測試專案。測試大神 蟲師的部落格。本篇安裝環境是window 7 64位 easy setup process,run a test now.brew install node get node.js 所以...

Appium基礎一 Appium概念

介紹 設計思想 2.2 你不必侷限於某種語言或者框架或者平台來書寫和執行測試 2.3 乙個移動自動化的框架不應該在介面上重複造輪子。移動自動化的介面應該統一 2.4 源 必須開源 名詞 c s 架構 session 自動化始終圍繞乙個session進行,客戶端初始化乙個seesion 會話 來與服務...