Google Home 測試套件

Google Home Test Suite 網頁應用程式可供您自行測試智慧住宅動作。Test Suite會根據與帳戶相關聯的裝置和特徵,自動產生並執行測試案例。完成測試後,您就能查看測試結果。

如要使用 Test Suite 並將測試結果提交給 Google 進行認證,請參閱「測試及分享智慧住宅動作」頁面。這個版本的「Test Suite」專為開發和品質保證而設計。

Test Suite 執行的測試包括但不限於:

  • 檢查裝置和特徵是否已導入「回報狀態」和「要求同步」

  • 確認裝置已實作 QUERY 意圖,且結果與「回報狀態」結果相符。

按一下下方按鈕即可啟動 Test Suite 工具:

啟動 Test Suite

自行測試動作

以下章節說明如何在裝置和智慧住宅動作專案上執行 Test SuiteTest Suite 需要您登入,才能檢查 Google Home Graph 中的裝置,並直接傳送指令給 Google Assistant

如要自行測試動作,請按照下列步驟操作:

  1. 在網路瀏覽器中開啟 Test Suite
  2. 使用右上角的按鈕登入 Google。

  3. 設定「Project Details」(專案詳細資料)

    1. 在「Project ID」欄位中,輸入智慧住宅動作的專案 ID。
    2. 點選 [下一步]。
  4. 設定「測試設定」

    1. 如要認證 Cloud-to-cloud 整合,請保留預設的「Report State/Request Sync Timeout」值。不過,如果代理程式需要較長時間向 Home Graph 回報狀態,您可以在測試時變更逾時值。
    2. 如要認證 Cloud-to-cloud 整合,請務必啟用「測試要求同步」選項。測試期間,系統會提示您新增、更新或移除裝置,並檢查裝置清單是否已在住家圖表中變更。變更動作會透過您測試的整合執行。測試中的整合必須一律至少有一個裝置連結至代理程式使用者。

    3. 如果您使用 Scene 特徵,請選取「Test Scene」特徵。

    4. 如果執行的是 Local Home 裝置的測試套件,請選取「支援 Local Home SDK」

      1. 選取「店面取貨」或「無縫設定」
      2. 如果裝置可在本機處理 QUERY 意圖,請按一下「Supports Local Query」
  5. 執行測試並查看結果:

    1. 按一下「下一步」開始執行測試。介面會顯示正在測試的裝置和特徵。
  6. 查看「結果和提交內容」頁面:

    1. 測試完成後,請按一下「下一步」查看結果。

測試結果會顯示通過和失敗的測試次數,以及代表通過百分比的最終分數。

帳戶連結驗證測試

帳戶連結在 Google 智慧住宅生態系統中扮演重要角色。Test Suite 中的帳戶連結驗證測試會檢查 OAuth 服務是否有潛在問題。

帳戶連結驗證測試包含驗證存取權杖重新整理權杖的測試:

存取權杖驗證測試

系統會測試從權杖交換端點傳回的存取權杖,確保權杖格式有效,且傳回的更新權杖也有效。

測試項目 說明
確認存取權杖是否為 JWT 格式 Google 帳戶連結不建議使用 JWT 格式的存取權杖。如果系統偵測到 JWT 格式,會顯示以下警告: The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token.
檢查可過期的存取權杖是否具有更新權杖。 如果存取權杖會過期,就必須提供更新權杖。 如果找不到更新權杖,這項測試就會失敗。

更新權杖驗證測試

我們會測試更新權杖,確保權杖交換端點能正確地將更新權杖換成新的存取權杖。

測試項目 說明
使用無效的更新權杖更新權杖,檢查合作夥伴的回應。 如果更新權杖要求無效,伺服器應傳回 HTTP 400 Bad Request 錯誤,並附上 {"error": "invalid_grant"}。如果回應與「錯誤代碼或訊息」不符,這個測試案例就會失敗。詳情請參閱「 使用重新整理權杖換取存取權杖」。
測試權杖更新後,存取權杖是否已更新。 新的存取權杖應在更新權杖要求的回應中傳回。如果伺服器提供相同的存取權杖,測試案例就會失敗。
確認未過期的存取權杖是否仍有效。 系統會顯示存取權杖的到期時間。
檢查重新整理時是否已輪替更新權杖。 我們會檢查重新整理符記要求後,重新整理符記是否有所變更。如果重新整理符記有所變更,伺服器應只在新的重新整理符記使用後,才使舊的重新整理符記失效,以避免競爭條件可能導致使用者帳戶連結中斷。如果您在新的重新整理符記使用前,就使舊的重新整理符記失效,測試就會失敗。

錯誤訊息

下表列出您可能會遇到的常見錯誤訊息,以及建議的解決方式。

錯誤訊息 如何解決
專案「<_id_>」未曾使用或已停用 HomeGraph API 確認已啟用 HomeGraph API
找不到要求的實體 確認「agentUserId」有效,且已連結至你的服務。

請確認您具備專案 ${your project id}resourcemanager.projects.get 權限,並在同意畫面中授予所有權限。

Error getting module data: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. 請按照「排解 IAM 權限問題」一文中的操作說明,確認您的帳戶具備專案的 resourcemanager.projects.get 權限。
  2. 前往「具有您帳戶存取權的應用程式」頁面,檢查「智慧住宅測試套件」的下列權限:
    • 基本帳戶資訊
      1. 查看您的主要 Google 帳戶電子郵件地址
      2. 查看您的個人資訊,包括您已公開的任何個人資訊
    • 其他存取權
      1. 使用 Assistant:從你的 Google 帳戶中存取各種資料
      2. 檢查及控制 Home Graph 中的智慧住宅裝置
    如果發生權限錯誤,請先移除存取權,然後在再次登入時,於同意畫面中授予所有權限。

提交測試結果

Test Suite結果必須通過 100% 的測試,才能提交認證。如有任何需要手動測試的特徵,即使結果未通過 100% 的測試,您仍應執行 Test Suite 工具並附加結果。

如要提交測試結果並認證 Cloud-to-cloud 整合,請按照下列步驟操作:

  1. 收到測試結果並準備好認證 Cloud-to-cloud 整合後,請在 Test Suite 工具中按一下「提交」
  2. 依序前往 Google Home Developer Console > Cloud-to-cloud >「認證」
  3. 選取要認證的整合服務。
  4. 在「文件」下方,輸入Test Suite結果 ID
  5. 填寫所有必填欄位,然後按一下「提交」

    Cloud-to-cloud