Google Home 測試套件

雲端轉雲端    Local Home SDK

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

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

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

  • 驗證是否已為裝置實作 QUERY 意圖,且其結果符合報告狀態的結果。

點選下方按鈕即可啟動 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. 按一下「Next」
  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. 執行「Test Run」並查看結果:

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

重新整理權杖驗證測試

系統會測試更新權杖,確認您的權杖交換端點能正確交換該端點以取得新的存取權杖。

測試項目 說明
重新整理權杖含有無效的更新權杖,並檢查合作夥伴回應。 您的伺服器應傳回 {"error": "invalid_grant"} 的 HTTP 400 不正確要求錯誤,傳回無效的更新權杖要求。 如果回應與「error code or message」(錯誤代碼或訊息) 不符,這個測試案例就會失敗。詳情請參閱「 交換存取權杖以獲取更新權杖」。
測試憑證更新後是否更新了存取權杖。 為回應更新權杖要求,應傳回新的存取權杖。如果您的伺服器提供相同的存取權杖,測試案例就會失敗。
檢查未過期的存取權杖是否仍有效。 系統會顯示存取權杖到期時間。
檢查更新權杖是否在重新整理時輪替。 我們會在更新權杖要求後,檢查更新權杖是否有所變更。如果更新權杖有所變更,則伺服器應該只在使用新的更新權杖後,才讓舊的更新權杖失效,以免發生可能中斷使用者帳戶連結的競爭狀況。如果在使用新憑證前就撤銷舊的更新權杖,測試會失敗。

錯誤訊息

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

錯誤訊息 解決方式
先前未在專案 <_id_> 中使用 HomeGraph API 或該 API 已停用 確認已啟用 HomeGraph API
找不到要求的實體 請確認您的 agentUserId 有效且已連結至服務。

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

取得模組資料時發生錯誤:getModuleData 錯誤:Http 失敗回應,適用於 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 工具並附加結果。

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

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