本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在设备农场中自动运行 Appium 测试
注意
本页介绍在设备农场的托管服务器端执行环境中运行 Appium 测试。要在远程访问会话期间从本地客户端环境运行 Appium 测试,请参阅客户端 Appium 测试。
本节介绍如何配置、打包和上传您的 Appium 测试,以便在 Device Farm 的托管服务器端环境中运行。Appium 是一种开源工具,用于自动执行本机和移动合应用程序。有关更多信息,请参阅 Appium 网站上的 Appium 简介
有关示例应用程序和有效测试的链接,请参阅适用于 Android 的设备农场示例应用程序
有关在设备农场中进行测试以及服务器端工作原理的更多信息,请参阅AWS Device Farm 中的测试框架和内置测试。
选择 Appium 版本
注意
对特定 Appium 版本、Appium 驱动程序或编程 SDK 的支持将取决于为测试运行选择的设备和测试主机。
设备农场测试主机预装了 Appium,以便更快地设置测试,从而实现更直接的用例。但是,使用测试规范文件允许您在需要时安装不同版本的Appium。
设备农场根据测试主机预先配置了不同的 Appium 服务器版本。主机自带的工具可使用设备平台的默认驱动程序启用预先配置的版本(安卓为 UiAutomator 2,iOS为xCuiTest)。例如,在macos_tahoe测试主机上,Appium 3是默认版本,并预装了兼容的iOS版XCUITest驱动程序。
phases: install: commands: - export APPIUM_VERSION=3- 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
以下代码片段可用于在您的测试规范文件中在 Device Farm 上选择与您的 XctestUI 驱动程序 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 a prebuilt version of the WDA app corresponding with your XCUITest driver version ${APPIUM_DRIVER_VERSION}"; 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 的文档。