本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Device Farm 中自动运行 Appium 测试
注意
本页介绍了在 Device Farm 的托管服务器端执行环境中运行 Appium 测试。要在远程访问会话期间从本地客户端环境运行 Appium 测试,请参阅客户端 Appium 测试。
本节介绍如何配置、打包和上传您的 Appium 测试,以便在 Device Farm 的托管服务器端环境中运行。Appium 是一种开源工具,用于自动执行本机和移动合应用程序。有关更多信息,请参阅 Appium 网站上的 Appium 简介
有关示例应用程序和工作测试链接,请参阅适用于 Android 的 Device Farm 示例应用程序和适用于
有关在 Device Farm 中进行测试以及服务器端工作原理的更多信息,请参阅AWS Device Farm 中的测试框架和内置测试。
选择 Appium 版本
注意
对特定 Appium 版本、Appium 驱动程序或编程的支持 SDKs 将取决于为测试运行选择的设备和测试主机。
Device Farm 测试主机预装了 Appium,以便在更简单的用例中更快地设置测试。但是,如果需要,使用测试规范文件可以安装不同版本的 Appium。
根据测试主机,Device Farm 预先配置了不同的 Appium 服务器版本。主机附带的工具可使用设备平台的默认驱动程序启用预配置版本(UiAutomator2 个适用于 Android,iOS 有 2 个)。 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
以下代码片段可用于在测试规范文件中的 De WebDriverAgent vice Farm 上选择与您的 XCTest UI 驱动程序版本兼容的版本。
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 的文档。