頁面功能說明
Appium檢查器是Appium-desktop自帶的一個工具,通過它可以來獲取頁面元素信息(包括頁面布局、控件、元素屬性等),以及還可以通過它來實現腳本的錄制功能。
點擊Appium檢查器啟動之后,可以看到頁面分成三大區域:

第一部分區域為連接Appium服務器的相關配置
- 自動設定
檢查器會自動將之前啟動Appium服務器所填的地址、端口信息同步過來,一般我們選擇這個即可 - 自定義服務器
這里我們可以自己設置連接Appium服務器所需的參數,比如你想要連接到另外一台主機上面的Appium服務器 - 選擇雲服務器提供商
連接到這些雲服務器提供的Appium服務器,一般不用
第二部分區域為代理及證書相關配置
第三部分區域為所需功能配置,通過所需功能配置告訴Appium服務器如何建立通訊連接
DesiredCapabilties所需功能配置
一般我們填寫如下四個基礎配置即可:
-
deviceName
設備名字,通過此屬性,appium可以找到我們對應的設備進行通訊,通過打開cmd窗口,運行adb devices命令,輸出的結果即可得到對應的deviceName
注意:需要先保證adb已經連接上了模擬器/真機,怎么連接,戳這里
-
platformName
平台名,如果是android就寫Android,ios即是IOS -
appPackage
應用的包名,通過此屬性,appium就可以得知需要和哪個app進行通訊。可以通過Android SDK自帶的aapt工具獲取,aapt工具介紹:
aapt即Android Asset Packaging Tool,在SDK的build-tools目錄下。該工具可以查看,創建, 更新ZIP格式的文檔附件(zip, jar, apk)。也可將資源文件編譯成二進制文件
默認Android SDK自帶了aapt工具,進入到build-tools對應的目錄中,在地址欄上面輸入cmd即可打開cmd窗口並且自動將路徑定位到當前,輸入aapt命令

解析APK包的信息,通過aapt dump badging apk包所在路徑(以qq安裝包為例),解析結果中的第一行即為對應的app包名

- appActivity
應用的入口activity,通過此屬性,可以開啟app。
同樣通過aapt工具解析可獲取到啟動入口配置,命令同上述保持一致,在結果中搜索“launchable-activity”關鍵字,后面的值即為入口配置

最后,對應的四個基本參數配置如下,點擊啟動會話

初始化結束之后,可以看到如下界面

左邊為手機即時畫面的映射,通過鼠標即可點擊控制相應的元素,如果發現沒有同步,可以點擊工具欄上刷新按鈕。
AppSource:
畫面的元素構成,包括布局和控件
Selected Element:
選中的元素對應的屬性信息,這個就是我們查找定位元素的關鍵信息,包括有:
index:索引
text:文本
class:類
package:包
content-desc:內容描述
checkable:可選
checked:選中
enabled:可用
focusable:可獲得焦點
focused:獲得焦點
scrollable:可滾動
long-clickable:可長點擊
password:隱藏明文(密文顯示)
selected:選中
bounds:界面(起始點坐標/終止點坐標)
resource-id:元素ID
檢查器錄制功能
點擊開始錄制按鈕“眼睛圖標”

選擇元素->操作

生成腳本,還可以選擇不同語言,Java、python、ruby等等

檢查器初始會話可能會碰到的問題

An unknown server-side error occurred while processing the command. Original error: 'app' option is required for reinstall
解決方案:
確保測試App有安裝到Android設備中

無法連接到服務器;您確定要運行嗎?
解決方案:
確保Appium服務器有在運行

An unknown server-side error occurred while processing the command. Original error: You must include a platformName capability
解決方案:
platformName配置是否有寫上,要注意大小寫問題

An unknown server-side error occurred while processing the command. Original error: The desired capabilities must include either an app, appPackage or browserName
解決方案:
確保所需配置中有appPackage屬性

An unknown server-side error occurred while processing the command. Original error: activity and pkg are required to start an application
解決方案:
appActivity配置是否有寫上,要注意大小寫問題,對應的值是否正確

An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device.
解決方案:
設備是否有通過adb鏈接上,通過adb devices命令檢查