Google Home 測試套件

雲端對雲端    Local Home SDK

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

若要使用 Test Suite 並將您的測試結果提交給 Google 以獲得認證,請參閱 測試和分享智慧家庭操作 頁面以取得資訊。 此版本的 Test Suite 專門用於開發和品質保證。

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

  • 檢查裝置和特徵是否已導入「回報狀態」和「要求同步」

  • 驗證您的裝置是否實作了 QUERY intent,並且其結果與報表狀態結果相符。

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

啟動 Test Suite

自行測試動作

以下部分介紹如何在您的裝置和智慧家庭操作項目上執行 Test SuiteTest Suite 需要您登入,才能檢查裝置並直接傳送指令給 Google Home GraphGoogle 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 特徵,請選取「Test 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,或該 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. 在家庭圖中檢視並控制智慧家庭設備
    如果您收到權限錯誤,請先移除存取權限,然後在重新登入時在同意畫面中授予所有權限。

提交測試結果

您的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. 填寫所有必填欄位,然後按一下「提交」