本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Device Farm 中自動執行 Appium 測試
注意
此頁面涵蓋在 Device Farm 的受管伺服器端執行環境中執行 Appium 測試。若要在遠端存取工作階段期間從本機用戶端環境執行 Appium 測試,請參閱用戶端 Appium 測試。
本節說明如何設定、封裝和上傳 Appium 測試,以便在 Device Farm 的受管伺服器端環境中執行。Appium 是一種開放原始碼工具,用於自動化原生和行動 Web 應用程式。如需詳細資訊,請參閱 Appium 網站上的 Appium 簡介
如需範例應用程式和工作測試的連結,請參閱 GitHub 上的適用於 Android 的 Device Farm Sample App
如需在 Device Farm 中測試及伺服器端運作方式的詳細資訊,請參閱 AWS Device Farm 中的測試架構和內建測試。
選取 Appium 版本
注意
支援特定的 Appium 版本、Appium 驅動程式或程式設計 SDKs 將取決於為測試執行選取的裝置和測試主機。
Device Farm 測試主機已預先安裝 Appium,以便針對更直接的使用案例更快速地設定測試。不過,使用測試規格檔案可讓您視需要安裝不同版本的 Appium。
Device Farm 根據測試主機預先設定不同的 Appium 伺服器版本。主機隨附工具,可啟用具有裝置平台預設驅動程式的預先設定版本 (適用於 Android 的 UiAutomator2 和適用於 iOS 的 XCUITest)。
phases: install: commands: - export APPIUM_VERSION=2- devicefarm-cli use appium $APPIUM_VERSION
若要檢視支援的軟體清單,請參閱 上的 主題自訂測試環境中支援的軟體。
若要選取自訂版本的 Appium,請使用 npm命令來安裝它。下列範例示範如何安裝最新版的 Appium 2。
phases: install: commands: - export APPIUM_VERSION=2- npm install -g appium@$APPIUM_VERSION
在 上舊版 iOS 測試主機,您可以選擇具有 的特定 Appium 版本avm。例如,若要使用 avm命令將 Appium 伺服器版本設定為 2.1.2,請將這些命令新增至您的測試規格 YAML 檔案。
phases: install: commands: - export APPIUM_VERSION=2.1.2- avm $APPIUM_VERSION
為 iOS 測試選取 WebDriverAgent 版本
若要在 iOS 裝置上執行 Appium 測試,必須使用 WebDriverAgent。此應用程式必須經過簽署,才能安裝在 iOS 裝置上。Device Farm 提供預先簽章的 WebDriverAgent 版本,可在自訂測試環境執行期間使用。
下列程式碼片段可用於在與 XCTestUI 驅動程式版本相容的測試規格檔案中,選取 Device Farm 上的 WebDriverAgent 版本。
phases: pre_test: commands: - |- APPIUM_DRIVER_VERSION=$(appium driver list --installed --json | jq -r ".xcuitest.version" | cut -d "." -f 1); CORRESPONDING_APPIUM_WDA=$(env | grep "DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V${APPIUM_DRIVER_VERSION}") if [[ ! -z "$APPIUM_DRIVER_VERSION" ]] && [[ ! -z "$CORRESPONDING_APPIUM_WDA" ]]; then echo "Using Device Farm's prebuilt WDA version ${APPIUM_DRIVER_VERSION}.x, which corresponds with your driver"; DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH=$(echo $CORRESPONDING_APPIUM_WDA | cut -d "=" -f2) else LATEST_SUPPORTED_WDA_VERSION=$(env | grep "DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V" | sort -V -r | head -n 1) echo "Unknown driver version $APPIUM_DRIVER_VERSION; falling back to the Device Farm default version of $LATEST_SUPPORTED_WDA_VERSION"; DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH=$(echo $LATEST_SUPPORTED_WDA_VERSION | cut -d "=" -f2) fi;
如需 WebDriverAgent 的詳細資訊,請參閱 Appium 的文件