python+appium自動化測試-05APP元素定位

和Web端一樣,APP端也是可以通過元素進行定位的。有過Web端的七種元素定位的實戰經驗,APP端的元素定位也容易理解。Web端元素定位點擊查看
APP端的元素定位,可以用uiautomator抓取頁面元素。下面介紹一下APP的幾種元素定位方式:

1、id定位

APP裏面的元素resource-id相當於Web端元素id。
find_element_by_id(‘android:id/button2’)
在這裏插入圖片描述

2、name定位

APP裏面的元素text相當於Web端元素name。
find_element_by_name(‘請輸入用戶名’)
在這裏插入圖片描述

3、class定位

APP裏面的元素class相當於Web端元素class。
find_element_by_class_name(‘android.widget.EditText’)
在這裏插入圖片描述

4、相對定位

相對定位是先找到該元素有對應屬性的父元素節點,然後基於父元素進行元素定位。
例:先通過resource-id='com.tal.kaoyan:id/activity_register_parentlayout’定位到ImageView的父元素LinearLayout,然後再通過resource-id=‘com.tal.kaoyan:id/activity_register_userheader’定位到ImageView。在這裏插入圖片描述
在這裏插入圖片描述

5、Xpath定位

APP的Xpath定位方式和Web端的一毛一樣。
find_element_by_xpath(’//android.widget.EditText[@text=“請輸入用戶名”]’)
在這裏插入圖片描述

6、list定位

List定位首先是使用find_elements_by_XX獲取一組相同的class屬性的元素,然後使用數組下標來區分標記不同元素進行相關操作。
images=driver.find_elements_by_id(‘com.tal.kaoyan:id/item_image’)
#選擇第10張圖作爲上傳對象
images[9].click()

7、UIAutomator元素定位

UIAutomator元素定位是 Android 系統原生支持的定位方式,雖然與 xpath 類似,但比它更加好用,且支持元素全部屬性定位。定位原理是通過android自帶的android uiautomator的類庫去查找元素。 Appium元素定位方法其實也是基於Uiautomator來進行封裝的。類似於Web端的CSS定位。

7.1、id定位

id定位是根據元素的resource-id屬性來進行定位,使用 UiSelector().resourceId()方法即可。

find_element_by_android_uiautomator(‘new UiSelector().resourceId(“com.tal.kaoyan:id/login_password_edittext”)’)

7.2、text定位

text定位就是根據元素的text屬性值來進行定位,new UiSelector()
find_element_by_android_uiautomator(‘new UiSelector().text(“請輸入用戶名”)’)

7.3、text定位class name定位

find_element_by_android_uiautomator(‘new UiSelector().className(“android.widget.EditText”)’)

發佈了53 篇原創文章 · 獲贊 15 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章