Google Home 測試套件

雲端對雲端    Local Home SDK

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

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

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

  • 檢查裝置和特徵是否已實作報表狀態和要求同步。

  • 驗證裝置是否已實作 QUERY 意圖,且結果與 Report State 結果相符。

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

啟動 Test Suite

自行測試動作

以下章節說明如何在裝置和智慧住宅動作專案上執行 Test Suite。Test 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 整合,請務必啟用「Test Request Sync」選項。在測試期間,系統會提示你新增、更新或移除裝置,並檢查 Home Graph 中的裝置清單是否已變更。變更動作會透過您測試的整合項目執行。受測整合項目必須至少有一部裝置連結至代理使用者。

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

    4. 如果您要為 Local Home 住宅裝置執行測試套件,請選取「Supports Local Home SDK」。

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

    1. 點選「Next」(下一步) 即可開始執行測試。介面會顯示正在測試的裝置和特徵。
  6. 查看「Results & Submission」(結果和提交) 頁面:

    1. 測試完成後,點選「Next」(下一步) 即可查看結果。

測試結果包括通過和失敗的測試數量,以及表示通過百分比的最終分數。

帳戶連結驗證測試

帳戶連結在 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 權限,並已在同意畫面中授予所有權限。

取得模組資料時發生錯誤:getModuleData 錯誤:https://hometestsuiteproxy-pa.googleapis.com/v1/module:get 的 HTTP 失敗回應:403 OK 403

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

提交測試結果

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

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

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