Google Home テストスイート

クラウド間    Local Home SDK

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

Test Suite を使用してテスト結果を Google に送信し、認定を受ける方法については、スマートホーム アクションのテストと共有ページをご覧ください。このバージョンの Test Suite は、開発と品質保証専用です。

実行されたテストは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)フィールドに、スマートホーム アクションのプロジェクト ID を入力します。
    2. [次へ] をクリックします。
  4. [Test Settings](テスト設定)を構成します。

    1. Cloud-to-cloud インテグレーションを認定する場合は、デフォルトの Report State/Request Sync Timeout 値をそのまま使用します。ただし、エージェントがホームグラフに状態を報告するのに時間がかかる場合は、テスト目的でタイムアウト値を変更できます。
    2. 証明する場合Cloud-to-cloud統合するには、テストリクエストの同期オプションが有効になっている場合、テスト中にデバイスを追加、更新、または削除するように求められ、ホームグラフでデバイス リストが変更されたかどうかが確認されます。変更アクションは、テスト対象の統合で行われます。テスト対象の統合では、エージェント ユーザーに少なくとも 1 つのデバイスが接続されている必要があります。

    3. を使用している場合Scene特性、選択テストシーン特性

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

      1. [ローカル フルフィルメント] または [シームレス セットアップ] を選択します。
      2. デバイスが QUERY インテントをローカルで処理できる場合は、[Supports Local 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.
有効期限付きのアクセス トークンに更新トークンがあることを確認します。 アクセス トークンに有効期限がある場合は、更新トークンを指定する必要があります。リフレッシュ トークンが見つからない場合、このテストは失敗します。

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

更新トークンは、トークン交換エンドポイントが新しいアクセス トークンと適切に交換することを確認するためにテストされます。

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

エラー メッセージ

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

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

必ずresourcemanager.projects.getプロジェクトの許可${your project id}同意画面ですべての権限を付与します。

モジュール データの取得中にエラーが発生しました: 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% 成功にする必要があります。手動テストを必要とするトレイトがある場合でも、Test Suite ツールを実行し、100% 成功していなくても結果を添付してください。

テスト結果を提出し、Cloud-to-cloud統合するには、次の手順に従ってください。

  1. テスト結果を受け取り、認定の準備ができたら、Cloud-to-cloud統合、クリック提出するの中でTest Suite道具。
  2. Google Home Developer Console > Cloud-to-cloud > [認証] に移動します。
  3. 認定する統合を選択します。
  4. ドキュメント、入力してくださいTest Suite結果 ID
  5. すべての必須項目に入力し、[送信] をクリックします。