

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 什么是 AWS Device Farm？
<a name="welcome"></a>

Device Farm 是一项应用程序测试服务，您可以用它在由 Amazon Web Services (AWS) 托管的实际物理手机和平板电脑上测试您的 Android、iOS 和 Web 应用程序并与其交互。

使用 Device Farm 的两种主要方法是：
+ 从本地计算机远程访问设备，可以在网络浏览器中以交互方式访问设备，也可以从本地客户端使用Appium自动对其进行测试。
+ 使用 Device Farm 的托管测试执行环境自动执行应用程序测试。

**注意**  
Device Farm 仅在 `us-west-2`（俄勒冈）区域中提供。

## 远程访问
<a name="remote-access-intro"></a>

远程访问允许您通过网络浏览器与设备进行实时交互。远程访问还允许您使用托管 Appium 端点从本地客户端对远程 Device Farm 设备运行 Appium 测试。

在许多场景中，与设备进行实时交互可能很有用，例如手动应用程序测试、在特定设备上重现错误、在不同屏幕类型上检查应用程序的视觉呈现以及应用程序安装和升级顺序。Device Farm 的完全托管的 Appium 端点使您能够开发、测试和调试 Appium 测试，从而快速提供反馈。

[Appium 端点支持你选择的任何语言、任何本地 IDE、带断点的实时调试、实时视频和日志以及 Appium Inspector 之类的工具。](https://github.com/appium/appium-inspector)在远程访问会话期间，您可以在同一台设备上随心所欲地多次执行测试，[限制为 150 分钟](limits.md#service-limits)。

在远程访问会话期间，Device Farm 会记录您与设备交互时发生的操作的详细信息。在会话结束时会生成包含这些详细信息的日志和会话的视频捕获。

## 自动应用程序测试
<a name="automated-test-intro"></a>

Device Farm 允许您通过上传应用和测试在多台设备上并行运行自动测试。测试将在完全托管的环境中自动执行，测试主机可以配置[测试规范文件](custom-test-environment-test-spec.md)。该环境使用 Device Farm 的[测试主机](custom-test-environments-hosts.md)，因此您无需担心为运行测试配置自己的基础架构。测试主机和设备可以安全地连接到您的 VPC 以访问您的私有终端节点。

测试完成后，将生成一份测试报告，其中包含高级结果、低级日志、屏幕截图和您的测试工件。

Device Farm 支持测试原生和混合安卓和 iOS 应用程序。有关支持的测试类型的更多信息，请参阅[AWS Device Farm 中的测试框架和内置测试](test-types.md)。

## 术语
<a name="welcome-terminology"></a>

Device Farm 引入了以下定义信息组织方式的术语：

**设备池**  
表示通常具有相似的特征（如平台、制造商或型号）的设备的集合。

**作业**  
在单个设备上测试单个应用程序的 Device Farm 请求。一个任务包含一个或多个套件。

**计量**  
指设备的计费。文档和 API 参考中可能会提及计量设备或非计量设备。有关定价的更多信息，请参阅 [AWS Device Farm 定价](https://aws.amazon.com/device-farm/pricing/)。

**项目**  
包含运行的逻辑工作区，一次运行用于单个应用程序在一个或多个设备上的每个测试。您可以使用项目以您选择的任何方式组织工作区。例如，可以每个应用程序名称一个项目，也可以每个平台一个项目。您可以根据需要创建任意数量的项目。

**报告**  
包含有关运行的信息，这是在一个或多个设备上测试单个应用程序的 Device Farm 请求。有关更多信息，请参阅 [AWS Device Farm 中的报告Reports](reports.md)。

**运行**  
您的应用程序的特定版本，使用一组特定的测试，在一组特定的设备上运行。运行将生成一个结果报告。一次运行包含一个或多个任务。有关更多信息，请参阅 [运行](test-runs.md)。

**会话**  
通过 Web 浏览器与实际、物理设备的实时交互。有关更多信息，请参阅 [会话](sessions.md)。

**套件**  
测试程序包中的测试的分层组织。一个套件包含一个或多个测试。

**测试**  
测试程序包中的单个测试案例。

有关 Device Farm 的更多信息，请参阅[概念](concepts.md)。

## 设置
<a name="welcome-setting-up"></a>

要使用 Device Farm，请参阅 [设置](setting-up.md)。