如果你還想從頭學起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下面會顯示對應的程式碼,右側可以選擇不同的語言
- 建議:不要過多使用該功能;可以看到錄製的程式碼是根據座標去定位元素的,換個手機同一個元素座標可能就不同了,可移植性不高