Google Home Test Suite 是一款網頁應用程式,可讓您自行測試智慧住宅動作。Test Suite會根據與帳戶相關聯的裝置和特徵,自動產生並執行測試案例。完成測試後,即可查看測試結果。
如要使用 Test Suite 並將測試結果提交給 Google 進行認證,請參閱「測試及分享智慧住宅動作」頁面。這個版本的 Test Suite 專用於開發和品質查驗。
Test Suite 執行的測試包括但不限於:
按一下下方按鈕,即可啟動 Test Suite 工具:
自行測試動作
以下章節說明如何在裝置和智慧住宅動作專案上執行 Test Suite。Test Suite 會要求你登入,以便檢查 Google Home Graph 中的裝置,並直接傳送指令至 Google Assistant。
如要自行測試動作,請按照下列步驟操作:
- 在網路瀏覽器中開啟 Test Suite。
使用右上角的按鈕登入 Google。
設定「Project Details」(專案詳細資料):
- 在「Project ID」欄位中,輸入智慧住宅動作的專案 ID。
- 點選 [下一步]。
調整測試設定:
- 如要認證 Cloud-to-cloud 整合,請保留預設的「Report State/Request Sync Timeout」值。不過,如果代理程式需要更多時間向 Home Graph 回報狀態,您可以在測試時變更逾時值。
如要認證 Cloud-to-cloud 整合,請務必啟用「Test Request Sync」選項。在測試期間,系統會提示你新增、更新或移除裝置,並檢查 Home Graph 中的裝置清單是否已變更。變更動作會透過您測試的整合項目執行。受測整合項目必須至少有一部裝置連結至代理使用者。
如果使用 Scene 特性,請選取「Test Scene trait」。
如果您要為 Local Home 住宅裝置執行測試套件,請選取「Supports Local Home SDK」。
- 選取「本機執行」或「流暢設定」。
- 如果裝置可以在本機處理 QUERY 意圖,請按一下「Supports Local Query」。
執行測試執行並查看結果:
- 點選「Next」(下一步) 即可開始執行測試。介面會顯示正在測試的裝置和特徵。
查看「Results & Submission」(結果和提交) 頁面:
- 測試完成後,點選「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. |
| 檢查可過期的存取權杖是否有更新權杖。 | 如果存取權杖會過期,就必須提供更新權杖。 如果找不到更新權杖,這項測試就會失敗。 |
更新權杖驗證測試
系統會測試更新權杖,確保權杖交換端點能正確將其交換為新的存取權杖。
| 測試項目 | 說明 |
|---|---|
| 使用無效的更新權杖更新權杖,檢查合作夥伴回應。 | 如果更新權杖要求無效,伺服器應傳回 HTTP 400 Bad Request 錯誤和 {"error": "invalid_grant"}。如果回應與「錯誤代碼或訊息」不符,這項測試案例就會失敗。詳情請參閱「
將更新權杖換成存取權杖」。 |
| 測試存取權杖是否在更新後變更。 | 系統應傳回新的存取權杖,以回應更新權杖要求。如果伺服器提供相同的存取權杖,測試案例就會失敗。 |
| 檢查未過期的存取權杖是否仍有效。 | 系統會顯示存取權杖到期時間。 |
| 檢查更新權杖是否在更新期間輪替。 | 我們會檢查更新權杖要求後,更新權杖是否有所變更。如果更新權杖有所變更,伺服器應在新的更新權杖使用後,才將舊的更新權杖失效,以免發生競爭狀況,導致使用者帳戶連結中斷。如果您在新的更新權杖使用前就撤銷舊的更新權杖,測試就會失敗。 |
錯誤訊息
下表列出一些常見的錯誤訊息,以及建議的解決方法。
| 錯誤訊息 | 解決方法 |
|---|---|
| 專案 <_id_> 先前未曾使用或已停用 HomeGraph API | 確認您已啟用 HomeGraph API。 |
| 找不到要求的實體 | 確認 agentUserId 有效且已連結至服務。 |
請確認您具備專案 取得模組資料時發生錯誤:getModuleData 錯誤:https://hometestsuiteproxy-pa.googleapis.com/v1/module:get 的 HTTP 失敗回應:403 OK 403 |
|
提交測試結果
Test Suite 結果必須通過 100% 的測試,才能提交認證。如果有些特徵需要手動測試,即使未完全通過,仍應執行 Test Suite 工具並附加結果。
如要提交測試結果並認證 Cloud-to-cloud 整合,請按照下列步驟操作:
- 收到測試結果後,如果您已準備好認證Cloud-to-cloud整合,請按一下Test Suite工具中的「Submit」(提交)。
- 依序前往「Google Home Developer Console」>「Cloud-to-cloud」>「認證」。
- 選取要認證的整合項目。
- 在「Documentation」(說明文件) 下方,輸入Test Suite 結果 ID。
填寫所有必填欄位,然後按一下「提交」。