『與善仁』Appium基礎 — 17、元素定位工具(一)

語言: CN / TW / HK

目錄

  • 1、uiautomatorviewer介紹
  • 2、uiautomatorviewer工具開啟方式
  • 3、uiautomatorviewer佈局介紹
  • 4、uiautomatorviewer工具的使用

之前我們在做Web頁面自動化測試的時候就說過,元素定位是頁面自動化測試的第一步。

同理App自動化測試的第一步,也是元素的定位。

在APP中定位元素的話,需要藉助一些元素定位工具。

APP中的元素定位工具大致有三種:

uiautomatorviewer
Appium Inspector
Chrome Inspect

提示:本篇文章介紹 uiautomatorviewer 工具

1、uiautomatorviewer介紹

在開始編寫測試程式碼之前,需要獲取待測應用的UI元素。可以通過 uiautomatorviewer 工具來獲取應用的介面截圖並分析。

uiautomatorviewer 工具獲取當前UI介面的快照,提供一個視覺化的介面,來檢視UI佈局結構,並且可以檢視各個控制元件的相關屬性。利用這些資訊來選擇特定的UI元件,並建立APP中的自動化UI測試程式碼。

總結:

  • uiautomatorviewer 工具是專門用來定位Android系統APP中原生頁面中的元素。
  • uiautomatorviewer 是Android SDK裡的一個工具,這個工具在Android SDK目錄下的 tools 資料夾下。(IOS系統在 tools\bin 的子目錄下)
  • uiautomatorviewer 使用簡單,速度也相對比較快。

2、uiautomatorviewer工具開啟方式

開啟 uiautomatorviewer 工具,如下圖:

uiautomatorviewer.bat 是一個windows系統下的可執行檔案,雙擊即可開啟。

雙擊開啟 uiautomatorviewer.bat ,先會出現一個黑視窗,然後就會出現一個 uiautomatorviewer 工具的介面。

3、uiautomatorviewer佈局介紹

uiautomatorviewer 佈局如下圖所示:

整個介面分四個區域:

  1. 工作欄區
    在工作欄中共有4個按鈕,從左至右分別用於:
    • 開啟已儲存的介面快照和佈局。
    • 抓取當前手機螢幕截圖( Device Screenshoot uiautomator dump )。
    • 帶有壓縮層次結構的裝置螢幕截圖( Device Screenshoot with Compressed Hierarchy (uiautomator dump –compressed)
      第二按鈕與第三按鈕的區別在於:
      第二按鈕把全部佈局呈現出來,而第三按鈕只呈現有用的控制元件佈局。
      比如存在一個Frame,但只有裝飾功能,那麼點選第三按鈕時,可能不被呈現。
    • 儲存當前螢幕介面的快照和佈局。
  2. 螢幕截圖區 ,顯示當前螢幕顯示的佈局圖片。
  3. 佈局區 ,已XML樹的形式,顯示控制元件佈局。
  4. 控制元件屬性區 ,當點選某一控制元件時,將顯示該控制元件屬性資訊。

4、uiautomatorviewer工具的使用

1) uiautomatorviewer 工具使用前提

  • 開啟 uiautomatorviewer 工具。
  • 所測試裝置是開機狀態(手機或者模擬器)。
  • 確保電腦與裝置是連結狀態,也就是cmd進入命令列終端,
    輸入 adb connect 127.0.0.1:21503 連結逍遙模擬器,
    輸入 adb devices 能夠獲取裝置名稱。

如果電腦沒有與裝置不是連結的狀態,點選 uiautomatorviewer 工具欄中的第二個按鈕,來抓取手機介面是抓取不到的。

如下圖所示:

2)抓取當前手機的螢幕介面

就是點選 uiautomatorviewer 工具欄中的第二個按鈕進行抓取:

說明:點選完後,裝置上的介面就會被同步到這個工具的左側,點選左側需要檢視的控制元件,在這個工具的右側就可以看到這個控制元件對應的詳細資訊。

提示:

uiautomatorviewer 能夠不能抓取手機螢幕時,可以先關閉和重啟 adb 服務。

執行命令如下:

adb kill-server
adb start-server

3)定位其他頁面裡的元素

如果需要繼續定位其他頁面裡的元素,先在裝置中操作到要定位元素的頁面後,再次點選工具左上角的拍照按鈕,就可以抓取最新的頁面元素資訊。

例如:

定位完設定APP中介面的元素,我又想定位淘寶首頁的頁面元素。

首先在手機中開啟淘寶APP,進入到淘寶APP的首頁。

然後點選 uiautomatorviewer 工具欄中的第二個按鈕,來抓取新的介面。

4)儲存

點選儲存按鈕,可儲存抓取的螢幕截圖和一個 .uix 檔案(XML格式的頁面佈局,就相當於頁面原始碼)。

我們可以看到資料夾中會有上面說過的兩個檔案。

我們也可以對儲存的檔案進行重新命名,方便我們以後的使用和管理。

5)開啟已儲存的介面快照和佈局

點選開啟檔案,可以將之前儲存好的頁面螢幕截圖和 .uix 檔案匯入進來。

點選OK之後,就選顯示以前儲存過的介面資訊了。

如下圖所示:

匯入後即可進行元素定位操作。

說明:

我們先介紹 uiautomatorviewer 工具的使用,關於如何定位頁面中的元素,之後的文章會詳細說明。