如果你還想從頭學起Appium,可以看看這個系列的文章哦!
https://www.cnblogs.com/poloyy/category/1693896.html
前言
- 上一篇文章介紹了另一塊控件定位工具:UIAutomatorviewer
- 這一篇,我們來介紹另一款工具:Appium Desktop的Inspector
UIAutomatorviewer 的局限性
- 不能校驗我們寫的定位表達式是否正確定位到控件(類似瀏覽器上的F12)
- 連接不夠穩定
- 不能模擬用戶動作
Appium Desktop 的 Inspector 的優勢
- 可以校驗定位表達式(如:XPATH表達式)
- 通過設置Desired Capabilities來連接手機,比較穩定
- 可以模擬用戶動作(如:點擊,返回,滑動等操作)
- 可以錄制一系列操作,然后轉換成代碼
Inspector 的入門使用
- 首先,要啟動Appium Server
- 然后,在窗口點擊右上角Start Inspector Session(如圖),即可彈出一個窗口
- 輸入好Desired Capabilities后,點擊【Start Session】就闊以啦
默認會選中Automatic Server
Will use currently-running Appium Desktop server http://localhost:4723
表示正在使用本地的Appium Server
注意:久了這里可能會為空,需要手動選擇本地Appium Server哦
下方的Desired Capabilities
因為只是定位控件,所以寫必傳的參數就可以啦!
可以直接將下面的值改了,然后復制粘貼到右側的 JSON Representation 內哦
{ "platformName": "Android", "plathformVersion": 9, "deviceName": "test0106", "appPackage": "io.manong.developerdaily", "appActivity": "io.toutiao.android.ui.activity.LaunchActivity", "noReset": true, "newCommandTimeout": 6000 }
Inspector 定位控件界面的詳細介紹
怎么看功能都比UIAutomatorviewer豐富吧!哈哈哈
紅色圈:截圖的手機界面
不多介紹,可以點擊元素
藍色圈:頂部操作欄
從左往右的按鈕依次是
- Select Element:選擇元素
- Swipe By Coordinates:選擇滑動的起始和結束位置(后面說)
- Tap By Coordinates:使得手機界面變換可操作狀態,可以點擊界面的元素
- Back:模擬Android的返回鍵
- Refresh Source & Screenshot:刷新頁面,用來重新獲取手機當前界面
- Start Recording:錄制操作
- Search for element:校驗定位表達式
- Copy XML Source to Clipboard:復制XML樹
- Quit Session & Close Inspector:退出當前Session
黃色圈:XML樹
以XML樹的形式,展示界面上的控件布局
綠色圈:控件屬性區域
選擇某個控件,在這里可以顯示該控件的所有屬性和值
Selected Element 的詳細介紹
頂部的Tap、Send Keys、Clear
模擬用戶的操作
- tap:相當於點擊該元素
- send keys:輸入值,針對輸入框的操作
- clear:清空所有值
建議:說實話,我不建議用這些操作,因為很容易造成斷開連接(左側界面一直loading)....反正我這邊經常這樣,如果不會的話當然最好用啦!
Find By xpath
提供了該元素的XPATH表達式
當然不推薦用哈,畢竟是絕對路徑,太長了..........還是自己寫吧!
那串黃色背景色的英文
不建議使用XPath定位器,因為它很脆弱,建議讓開發團隊提供獨特的可訪問性定位器(即:resource-id)
Attribute - Value
屬性列表,后面用一篇文章單獨講解哦
Search for element 的詳細介紹
選擇你要校驗的定位類型,然后輸入你寫的表達式,最后【Search】,就可以看到結果了
如果能找到Elements的話表達式就是正確的哦,然后你還可以針對該元素進行一些操作
Start Recording 的詳細介紹
- 點擊開始錄制之后,再點擊Tap By Coordinates,進入界面可操作狀態
- 然后就可以開始點擊你想要的元素了,這個時候就開始錄制了
- 最后在Recorder下面會顯示對應的代碼,右側可以選擇不同的語言
- 建議:不要過多使用該功能;可以看到錄制的代碼是根據坐標去定位元素的,換個手機同一個元素坐標可能就不同了,可移植性不高