1.appium inspector(定位元素的工具)使用方法
詳細介紹:?
?詳細解釋:
圖標 | 名稱 | 說明 |
---|---|---|
1 | Show Element Handles | 是否顯示元素句柄 |
2 | Select Elements | 選擇元素定位 |
3 | Tap/Swipe By Coordinates | 按坐標點擊/滑動 |
4 | Download Screenshot | 下載屏幕截圖 |
5 | Press Back Button | 按下后退按鈕 |
6 | Press Home Button | 按主頁按鈕 |
7 | Press App Switch Button | 按應用程序切換按鈕 |
8 | Native App Mode | 本機應用程序模式 |
9 | Web/Hybrid App Mode | Web/ 混合應用程序模式 |
10 | Refresh Source & Screenshot | 刷新源和屏幕截圖 |
11 | Search for element | 搜索元素 |
12 | Start Recording | 開始錄制 |
13 | Quit Session & Close Inspector | 退出會話并關閉檢查器 |
2.appium定位方法
(1)目標元素有 resource-id 且該 id 唯一 , 或排第一個
driver.find_element_by_id
(2)目標元素有 content-desc 屬性
driver.find_element_by_accessibility_id
(3)以上條件均不具備 -XPATH
driver.find_element_by_xpath
備注: appium 尋找元素的形式與 selenium 基本相同, 都有單數和復數形式,
find_element_by_XXX 符合條件的 第一個元素 ,找不到拋出異常(所以如果自己所找的元素,匹配到了多個值,若該值顯示在第一個的話,就可以用該表達式)
find_elements_by_XXX 符合條件的所有元素的列表,找不到返回空列表
同時也有全局查找和局部查找
通過 WebDriver 查找范圍是整個界面樹形結構
通過 WebElement 查找范圍是該節點的子節點
Xpath 在 appium 中的原理
在 Appium 中,我們沒法使用 css ,因為 css 是 web 專用的
與 web 不同,底層測試驅動并不識別 XPATH
Appium 負責解析 xpath 給底層測試驅動來識別
每個節點名對應元素的 class 屬性
對于一些比較復雜的元素的定位,我們可以用它定位
driver.find_element_by_xpath('//ele1/ele2[@attr="a1"]')
xpath 表達式
(1)通過 ID 選擇
//*[@resource-id="com.hpbr.bosszhipin:id/view_job_card"]
(2)通過 CLASS 選擇
//android.view.ViewGroup
(3)通過其他屬性選擇
//*[@ 屬性 =" 屬性值 "]
(4)選擇子元素
// [@ 屬性 =" 屬性值 "]/
(5)選擇父元素
//*[@ 屬性 =" 屬性值 "]/..