

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

# 在 Device Farm 中运行测试 APIs 后使用 Webhook 和其他内容
<a name="custom-test-environments-extending-webhooks"></a>

在每个测试套件使用 **curl** 完毕后，您可以让 Device Farm 调用 webhook。执行此操作的过程因目的地和格式而异。对于您的特定 webhook，请参阅该 webhook 的文档。以下示例会在每次测试套件完成时向 Slack webhook 发布一条消息：

```
phases:
  post_test:
    - curl -X POST -H 'Content-type: application/json' --data '{"text":"Tests on '$DEVICEFARM_DEVICE_NAME' have finished!"}' {{https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX}}
```

有关将 webhook 与 Slack 结合使用的更多信息，请参阅 Slack API 参考中的 [Sending your first Slack message using Webhook](https://api.slack.com/tutorials/slack-apps-hello-world)。

有关扩展测试套件和优化测试的更多方法，请参阅 [在 Device Farm 中扩展自定义测试环境](custom-test-environments-extending.md)。

您不仅局限于使用 **curl** 来调用 webhook。测试包可以包含额外的脚本和工具，前提是它们与 Device Farm 执行环境兼容。例如，您的测试包可能包含向其他人发出请求的辅助脚本 APIs。确保将所有必需的软件包与测试套件的要求一起安装。要添加在测试套件完成后运行的脚本，请将该脚本包含在测试包中，并将以下内容添加到测试规范中：

```
phases:
  post_test:
    - {{python post_test.py}}
```

**注意**  
您有责任维护测试包中使用的任何 API 密钥或其他身份验证令牌。我们建议您将任何形式的安全凭证排除在源代码控制之外，使用权限尽可能少的证书，并尽可能使用可撤销的短期令牌。要验证安全要求，请参阅您 APIs 使用的第三方的文档。

如果您计划将 AWS 服务用作测试执行套件的一部分，则应使用在测试套件之外生成并包含在测试包中的 IAM 临时证书。这些证书应具有最少的授予权限和最短的生命周期。有关创建临时安全凭证的更多信息，请参阅《IAM 用户指南》**中的[使用临时安全凭证](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_temp_request.html)。

有关扩展测试套件和优化测试的更多方法，请参阅 [在 Device Farm 中扩展自定义测试环境](custom-test-environments-extending.md)。