Google Home 測試套件

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

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

  • 檢查是否已針對您的裝置和特徵實作「Report State」和「Request Sync」。

  • 確認裝置已實作 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) 欄位中,輸入智慧型住宅動作的專案 ID。
    2. 點選「下一步」
  4. 調整「測試設定」

    1. 如果您要確認智慧型住宅動作,請保留預設的「Report State/Request Sync Timeout」值。不過為了進行測試,如果代理程式花更多時間向 Home Graph 回報狀態,則可變更逾時值。
    2. 如果系統認證您的智慧型住宅動作,請確認已啟用「Test Request Sync」選項。在測試期間,系統會提示您新增、更新或移除裝置,並檢查 Home Graph 中的裝置清單是否已變更。透過您測試的整合作業執行變更動作。測試中的整合必須一律將至少一部裝置附加到代理程式使用者。

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

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

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

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

    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.
檢查設有期限的存取權杖是否有更新權杖。 存取權杖具有期限時,必須提供更新權杖。如果找不到更新權杖,這項測試就會失敗。

重新整理權杖驗證測試

系統會測試更新權杖,以確保權杖交換端點正確交換新的存取權杖。

測試項目 說明
含有無效的更新權杖,正在檢查合作夥伴回應。 您的伺服器應該傳回含有 {"error": "invalid_grant"} 的 HTTP 400 Bad Request 錯誤,回應無效的更新權杖要求。如果回應與「錯誤代碼或訊息」不符,測試案例就會失敗。請前往「 交換存取權杖」頁面瞭解詳情。
測試權杖更新後是否已更新存取權杖。 系統應傳回新的存取權杖,以回應更新權杖要求。如果您的伺服器提供相同的存取權杖,測試案例就會失敗。
檢查未過期的存取權杖是否仍然有效。 系統會顯示存取權杖的有效期限。
檢查更新權杖是否已在重新整理時輪替。 我們會在傳送更新權杖要求後,檢查更新權杖是否已變更。如果更新權杖有所變更,您的伺服器應該只在使用新的更新權杖之後,才使舊的更新權杖失效,以免導致使用者帳戶連結中斷。如果您在使用新更新權杖之前使舊的更新權杖失效,測試就會失敗。

錯誤訊息

下表列出您可能會看到的一些常見錯誤訊息及解決方式。

錯誤訊息 如何解決
專案 <_id_> 之前從未使用 HomeGraph API,或該 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 工具並附加結果,即使其未達到 100% 亦然。

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

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