Google Home 測試套件

雲端對雲端    Local Home SDK

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

    3. 如果您使用 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