

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Device Farm 中執行測試後，使用 Webhooks APIs
<a name="custom-test-environments-extending-webhooks"></a>

您可以在每個測試套件使用 完成後，讓 Device Farm 呼叫 Webhook**curl**。執行此操作的程序會因目的地和格式而異。如需特定 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}}
```

如需搭配 Slack 使用 Webhook 的詳細資訊，請參閱 [Slack API 參考中的使用 Webhook 傳送您的第一個 Slack 訊息](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)。