Google Home 測試套件

雲端至雲端    Local Home SDK

Google Home Test Suite 是網頁應用程式,可讓您自行測試智慧型住宅動作。Test Suite 會根據與帳戶相關聯的裝置和特徵,自動產生並執行測試案例。完成測試後,您可以查看測試結果或填寫提交表單,將測試結果提交給 Google。

Test Suite 執行的測試包括但不限於以下項目:

如要啟動 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. 如果您認證智慧型住宅動作,請不要變更預設的「Report State/Request Sync Timeout」值。不過,如果代理程式需要較長的時間向 Home Graph 回報狀態,您就可以變更逾時值以進行測試。
    2. 如果您認證智慧型住宅動作,請確認已啟用「Test Request Sync」選項。在測試期間,系統會提示您新增、更新或移除裝置,並檢查 Home Graph 中的裝置清單是否已變更。系統會透過正在測試的整合執行變更動作。測試中的整合必須至少有一個裝置連接至代理程式使用者。

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

    4. 如果您執行的是本機住宅裝置的測試套件,請選取「Supports Local Home SDK」

      1. 選取「本機執行要求」或「流暢設定」
      2. 如果裝置可以在本機處理 QUERY 意圖,請按一下「支援本機查詢」
  5. 執行測試執行作業並查看結果:

    1. 點選「Next」開始執行測試。介面會顯示要測試的裝置和特徵。
  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 權限,並已授予同意畫面中的所有權限。

取得模組資料時發生錯誤:getModuleData 錯誤: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% 的測試,才能提交認證表單。如有任何特徵需要手動測試,您仍應執行 Test Suite 工具並附加結果,即使結果尚未通過測試也一樣。

如要提交測試結果,並確認智慧型住宅動作,請按照下列步驟操作:

  1. 收到測試結果並準備好進行智慧型住宅動作認證後,請按一下 Test Suite 工具中的「提交」
  2. 按一下「下載測試結果」按鈕,即可擷取測試結果。
  3. 按一下「前往提交表單」,將測試結果提交給 Google。
  4. 填寫所有必填欄位,然後按一下「提交」