ご案内: 新しいデベロッパー プレビュー プログラムがまもなくリリースされます。こちらからお申し込みのうえ、新しいツールを試してフィードバックをいち早くご利用ください。

Google Home テストスイート

クラウド間    Local Home SDK

Google Home Test Suite は、スマートホーム アクションをセルフテストできるウェブ アプリケーションです。Test Suite は、アカウントに関連付けられているデバイスとトレイトに基づいて、テストケースを自動的に生成して実行します。テストが完了したら、テスト結果を表示するか、送信フォームに記入してテスト結果を Google に送信できます。

Test Suite が実行するテストには次のようなものがあります(これらに限定されません)。

  • デバイスとトレイトに Report StateRequest Sync が実装されていることを確認します。

  • デバイスに QUERY インテントが実装されていること、その結果が Report State の結果と一致することを検証します。

下のボタンをクリックすると、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. [Test Settings](テスト設定)を構成します。

    1. スマートホーム アクションを認定する場合は、デフォルトの Report State / Request Sync Timeout 値をそのまま使用します。ただし、エージェントがホームグラフに状態を報告するのに時間がかかる場合は、テスト目的でタイムアウト値を変更できます。
    2. スマートホーム アクションを認定する場合は、[Test Request Sync](Request Sync のテスト)オプションが有効になっていることを確認します。テスト中は、デバイスを追加、更新、削除して、ホームグラフでデバイスリストが変更されたかどうかを確認するよう求めるメッセージが表示されます。変更アクションは、テスト対象の統合を介して行われます。テスト対象の統合では、エージェント ユーザーに少なくとも 1 台のデバイスがアタッチされている必要があります。

    3. Scene トレイトを使用する場合は、[Test Scene trait](Scene トレイトのテスト)を選択します。

    4. ローカルホーム デバイスのテストスイートを実行する場合は、[Local Home SDK のサポート] を選択します。

      1. [Local Fulfillment] または [Seamless Setup] を選択します。
      2. QUERY インテントをローカルで処理できる場合は、[ローカルクエリをサポート] をクリックします。
  5. [Test Run](テスト実行)を実行して結果を表示します。

    1. [Next] をクリックして、テストの実行を開始します。インターフェースにテスト対象のデバイスとトレイトが表示されます。
  6. [Results & Submission](結果と送信)ページを表示します。

    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.
有効期限のあるアクセス トークンに更新トークンが含まれていることを確認します。 アクセス トークンが期限切れの場合は、更新トークンを指定する必要があります。更新トークンがない場合、このテストは失敗します。

更新トークンの検証テスト

更新トークンは、トークン交換エンドポイントが新しいアクセス トークンと適切に交換されるようにテストされます。

テストアイテム 説明
更新トークンが無効の状態で更新トークンを使用し、パートナーのレスポンスを確認しています。 サーバーは無効な更新トークン リクエストに対して、HTTP 400 Bad Request エラー({"error": "invalid_grant"})を返す必要があります。レスポンスが「エラーコードまたはメッセージ」と一致しない場合、このテストケースは失敗します。詳しくは、 更新トークンとアクセス トークンを交換するをご覧ください。
トークンの更新後にアクセス トークンが更新されているかどうかをテストします。 更新トークンのリクエストに応じて、新しいアクセス トークンが返されます。サーバーが同じアクセス トークンを提供すると、テストケースは失敗します。
有効期限のないアクセス トークンがまだ有効かどうかを確認します。 アクセス トークンの有効期限が表示されます。
更新トークンが更新中にローテーションされたかどうかを確認します。 更新トークンのリクエスト後に更新トークンが変更されるかどうかを確認します。更新トークンが変更されても、古い更新トークンは、新しい更新トークンを使用した後でのみ無効にする必要があります。これにより、ユーザーのアカウントのリンクが中断される可能性がある競合状態を防止できます。新しい更新トークンを使用する前に古い更新トークンを無効にすると、テストは失敗します。

エラー メッセージ

次の表は、一般的なエラー メッセージと、推奨される解決方法を示します。

エラー メッセージ 解決方法
HomeGraph API has not been used in project <_id_> before or it is disabled(HomeGraph API がこれまでプロジェクト <_id_> で使用されたことがないか、または無効になっています) HomeGraph API が有効になっていることを確認します。
Requested Entity not found(要求されたエンティティが見つかりません) agentUserId が有効であり、サービスにリンクされていることを確認します。

プロジェクト ${your project id} に対する resourcemanager.projects.get 権限があり、同意画面ですべての権限が付与されていることを確認してください。

モジュール データの取得エラー: getModuleData エラー: https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 の HTTP エラー レスポンス

  1. IAM 権限のトラブルシューティングの手順に沿って、アカウントにプロジェクトの resourcemanager.projects.get 権限があることを確認します。
  2. [アカウントにアクセスできるアプリ] ページに移動して、「スマートホーム用テストスイート」に関する次の権限を確認します。
    • アカウント情報の基本
      1. Google アカウントのメインのメールアドレスを表示する
      2. ユーザーの個人情報の表示(ユーザーが一般公開しているすべての個人情報を含む)
    • 追加のアクセス権
      1. Assistant の利用: Google アカウントへの広範なアクセス
      2. ホームグラフ内のスマートホーム デバイスの検査と制御
    権限エラーが発生した場合は、もう一度ログインする際に、まずアクセス権を削除して同意画面ですべての権限を付与してください。

テスト結果の送信

Test Suite の結果は、認定フォームを送信する前に、すべてのテストに合格する必要があります。手動テストを必要とするトレイトがある場合は、100% で合格しなかった場合でも、Test Suite ツールを実行して結果を添付する必要があります。

テスト結果を送信し、スマートホーム アクションを認定する手順は次のとおりです。

  1. テスト結果を受け取り、スマートホーム アクションを認定する準備ができたら、Test Suite ツールで [Submit] をクリックします。
  2. [DOWNLOAD TEST RESULTS](テスト結果のダウンロード)ボタンをクリックして、テスト結果を取得します。
  3. テスト結果を Google に送信するには、[GO TO SUBMISSION FORM](送信フォームに移動)をクリックします。
  4. すべての必須フィールドに入力してから、[Submit] をクリックします。