

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

# 将 Android Instrumentation 与 Device Farm 集成
<a name="test-types-android-instrumentation-integrate"></a>

**注意**  
按照以下说明将 Android Instrumentation 测试与 AWS Device Farm 集成。有关在 Device Farm 中使用 Instrumentation 测试的更多信息，请参阅[适用于 Android 的 Instrumentation 与 AWS Device Farm](test-types-android-instrumentation.md)。

## 上传 Android Instrumentation 测试
<a name="test-types-android-instrumentation-upload"></a>

使用 Device Farm 控制台上传您的测试。

1. 登录 DeviceFarm 控制台，网址为 [https://console.aws.amazon.com/devicef](https://console.aws.amazon.com/devicefarm) arm。

1. 在 Device Farm 导航面板上，选择**移动设备测试**，然后选择**项目**。

1. 在项目列表中，选择要将测试上传到的项目。
**提示**  
您可以使用搜索栏按名称筛选项目列表。  
要创建项目，请按照[在 AWS Device Farm 中创建项目](how-to-create-project.md)中的说明操作。

1. 选择**创建规则**。

1. 在**选择应用程序**下的**应用程序选择选项**部分中，选择**上传自己的应用程序**。

1. 浏览到并选择您的 Android 应用程序文件。该文件必须是 .apk 文件。

1. 在**配置测试**的**设置测试框架**部分中，选择 **Instrumentation**，然后选择**选择文件**。

1. 浏览到并选择包含您的测试的 .apk 文件。

1. 按照剩余说明进行操作，以选择设备并开始运行。

## （可选）在 Android Instrumentation 测试中截图
<a name="test-types-android-instrumentation-screenshots"></a>

您可以拍摄屏幕截图作为您的 Android Instrumentation 测试的一部分。

要拍摄屏幕截图，请调用以下方法之一：
+ 对于 Robotium，调用 `takeScreenShot` 方法 (例如，`solo.takeScreenShot();`)。
+ 对于 Spoon，调用 `screenshot` 方法，例如：

  ```
  Spoon.screenshot(activity, "initial_state");
  /* Normal test code... */
  Spoon.screenshot(activity, "after_login");
  ```

在测试运行期间，Device Farm 会从设备上的以下位置获得屏幕截图（如果存在），然后将它们添加到测试报告中：
+ `/sdcard/robotium-screenshots`
+ `/sdcard/test-screenshots`
+ `/sdcard/Download/spoon-screenshots/{{test-class-name}}/{{test-method-name}}`
+ `/data/data/{{application-package-name}}/app_spoon-screenshots/{{test-class-name}}/{{test-method-name}}`