App Crawler

使用 Jetpack 內附的 App Crawler 應用程式自動測試應用程式,便不用撰寫或維護任何程式碼了。

這個檢索器可以和您的應用程式一起執行,並會自動發出操作 (輕觸、滑動等等) 探索應用程式的狀態空間。當已經沒有可以執行的獨特操作、應用程式停止運作,或是到了您指定的逾時時間後,檢索器會自動終止。

使用檢索器無需撰寫或維護程式碼,讓您輕鬆進行測試。此外,您也可以用多種裝置執行檢索器,以便偵測停止運作、外觀問題或效能問題。一般情況下,建議您使用雲端式服務 (如 Firebase Test Lab),以便用更輕鬆、快速的方式測試多種螢幕大小和硬體設定的組合。

目標對象

App Crawler 的目標對象是想用最少設定確定應用程式基礎功能的開發人員。除了進行純粹的不透明箱測試之外,這個檢索器也能透過設定提供特定的輸入內容,如登入憑證或深層連結。

開始使用

開始使用之前,請先確認您有最新版的 Android SDK。Android Studio 內有隨附。如果您安裝的是獨立的 Android SDK,請確定裡面有最新版的建構工具和平台工具。

然後請下載檢索器二進位檔封存檔

接下來,您可以啟動模擬器,或用 USB 傳輸線連接實體裝置。執行以下指令,確認裝置連接完畢:

adb devices

若要叫用檢索器,先將封存檔解壓縮到任意目錄內。使用以下指令從該目錄叫用檢索器:

java -jar crawl_launcher.jar --apk-file path/to/my/app.apk --android-sdk path/to/my/android/sdk

檢索器選項

您可以用以下選項叫用檢索器:

選項 說明
--android-sdk path

指定 Android SDK 的路徑。

這是必要旗標,

--apk-file file

指定應用程式 APK 路徑,App Crawler 會用來安裝及檢索。

如果您沒有指定 --app-package-name,那麼這是必要旗標。

--app-package-name name

指定應用程式套件名稱。如果您的應用程式已經安裝在裝置上,而且不需要重新安裝,就可以使用此選項。

如果您沒有指定 --apk-file,那麼這是必要旗標。

--key-store path

指定簽署應用程式和檢索器 APK 的 KeyStore 路徑。如果您的應用程式需要特定的簽名才能正確運作,請使用此選項。

--key-store-password password

指定您為 --key-store 選項提供的 KeyStore 密碼。

如果您有指定 --key-store,那麼這是必要旗標。

--timeout-sec timeout

指定檢索逾時時間 (秒)。如果沒有指定的話,檢索會在 60 秒後結束。

已知問題

無法刪除原始簽名檔案

檢索開始之前,JDK 9 使用者可能會看到這則錯誤訊息:

androidx.test.tools.crawler.launcher.exceptions.ApkSigningException: Failed to delete original signature files

發生這種行為時,建議您使用 JDK 8 或 10+。若要詳細瞭解此問題,請參閱這則 JDK 9 錯誤。部分使用者在使用更新版本的 Android Studio 重新建構 APK 後即可修正此問題。

其他資源

若要進一步瞭解如何使用 App Crawler,請參閱以下資源。