Alexaシミュレーターを使用したテスト



Alexaシミュレーターを使用したテスト

Alexa開発者コンソールでAlexaシミュレーターを使うことで、デバイスを使わずにスキルをテストできます。シミュレーターではスキルのセッションが維持されるため、スキルフロー全体のテストが可能です。音声またはテキストを使用して、カスタムスキルやスマートホームスキルと対話できます。さまざまなデバイスの形状でAlexa Presentation Language(APL)のエクスペリエンスをプレビューするには、シミュレーターを使用してAPL応答をレンダリングします。シミュレーターセッションは、ファイルに保存して後から再生できます。

その他のシミュレーションツールの詳細については、次のリファレンスを参照してください。

前提条件

シミュレータでスキルをテストする前に、次の前提条件を満たす必要があります。

  • (カスタムスキルの場合のみ)対話モデルをビルドし、エラーがないことを確認します。
  • 有効なエンドポイントのコンフィギュレーションを行い、スキルコードをエンドポイントにデプロイします。
  • スキルをテスト用に有効にします
  • (スマートホームおよびビデオスキルの場合)テストを開始する前に、Alexaアプリでスキルを有効にし、必要な情報を入力します。

シミュレーターテストオプション

以下のシミュレーターテストオプションを利用できます。

  • スキルI/O –(カスタムスキルの場合のみ)Alexaが対話の各ターンに送信するJSONリクエストと応答のペイロードを表示する場合。吹き出しをクリックすると、そのターンに関連するJSONを確認できます。
  • デバイスの表示 – 画面付きのデバイスにスキルがどう表示されるかを確認する場合。シミュレーターでAPLスキルをテストする方法の詳細については、開発者コンソールのシミュレーターでAPLスキルをテストするを参照してください。
  • デバイスのログ –(カスタムスキルの場合のみ)スキルの対話中にAlexaに送信されるイベントと、デバイスに送信されるディレクティブを確認する場合。詳細については、インテントのデバッグを参照してください。
  • Alexaスマートホーム(ベータ)–(スマートホームスキルの場合のみ)スキルがAlexaイベントゲートウェイに送信するChangeReportイベントを確認する場合。詳細については、スマートホームスキルのテストとデバッグを参照してください。

開発者コンソールでシミュレーターを使用する

シミュレーターは開発者コンソールのテストページにあります。シミュレーターペインで、音声またはテキストを使用してスキルを操作できます。表示ペインでは、選択したテストオプションに基づいたシミュレーションの結果を確認できます。

次の図は、スキルI/Oオプションとデバイスの表示オプションが選択されたシミュレーションを示しています。

テスト画面のスクリーンショット
開発者コンソールのカスタムスキルのテストページ

シミュレーターでスキルをテストする

シミュレーターでスキルをテストするには、次の手順を実行します。音声またはテキストを使用してスキルを操作できます。

開発者コンソールのシミュレーターを使用してテストするには

  1. Alexa開発者コンソールにサインインします。
  2. スキルの一覧からスマートホームスキルを見つけ、アクションを選択のドロップダウンから編集を選択します。
  3. テストページを開きます。
  4. 音声でテストするには、developer.amazon.comでのマイクの使用許可を求めるポップアップで、許可を選択します。
  5. 既にテストを有効にしている場合は、コンソールにスキルテストが有効になっているステージと表示されます。このリストから、スキルのテストステージとして開発中または公開中を選択します。
  6. シミュレーターを表示するには、Alexaシミュレータタブをクリックします。
  7. スキルタイプに適したシミュレーターオプションを有効にします
  8. 言語ドロップダウンリストでテストする言語を選択します。
  9. シミュレーターペインで、テスト発話を入力します。
    または、音声を使用する場合は、マイクをクリックして長押しし、テスト発話を行います。
  10. スキルI/Oを有効にすると、スキルの呼び出しペインにJSON入力とJSON出力が表示されます。
  11. デバイスの表示を有効にしている場合は、画面付きデバイスでコンテンツがどのように表示されるかを確認するために、スキルの呼び出しセクションの下までスクロールしてください。
    表示サイズを変更するには、ドロップダウンからデバイスを選択します。
  12. デバイスのログを有効にしている場合は、ディレクティブとイベントを表示するために、デバイスのログペインまでスクロールしてください。

シミュレーターを使用してカスタムスキルをテストする場合、context.System.device.supportedInterfacesプロパティにはカスタム>インターフェースページで選択したインターフェースが反映されます。たとえば、AudioPlayerAlexa Presentation Languageを選択した場合、シミュレーターからスキルに送信されるリクエストには次のcontextオブジェクトが含まれ、そのリクエストがこれら両方のインターフェースをサポートするデバイスから受け取ったものであることがわかります。

{
  "context": {
    "System": {
      "device": {
        "deviceId": "amzn1.ask.device.1",
        "supportedInterfaces": {
          "AudioPlayer": {},
          "Alexa.Presentation.APL": {
            "runtime": {
              "maxVersion": "1.8"
            }
          }
        }
      }
    }
  }
}

シミュレーターの制限事項

以下の制限事項は、このシミュレーターでの音声およびテキストのテストに適用されます。

機能 Alexaシミュレーターのサポート範囲

AudioPlayerインターフェース

このシミュレーターにはオーディオ再生機能はありません。その代わり、スキルI/Oセクションにスキルから送信されるAudioPlayerディレクティブが表示されます。

再生機能がないため、再生中にイベントによってトリガーされるPlaybackNearlyFinishedなどのAudioPlayerリクエストをテストすることはできません。

AMAZON.DATEスロット値

テスト発話を入力するときに、「2019/4/15」といった日付の省略表記は使用しないでください。 略さずに話し言葉で日付を書きます。たとえば、次のフレーズを使うと、有効な日付が日付スロットに生成されます。

  • 「四月十五日、二十九日」
  • 「四月の十五日、二十九日」
  • 「四月十五日」

「2019-04-15」、「2019/4/15」、「4/15」などの入力値は正しく日付に解決されません。

AMAZON.DATEで想定される話し言葉の形式の例については、AMAZON.DATEを参照してください。テスト用の発話を入力する際には、数字は漢数字(「二十五」)で書きます。

デバイスアドレスAPI

デバイスアドレスAPIを使用すると、ユーザーのデバイスに関連付けられた所在地情報をリクエストできます。Alexaシミュレーターを使ったテスト時に、スキルはデバイスアドレスAPIを呼び出してエラーのない応答を受け取ることができます。ユーザーがデバイスアドレスの権限を付与しなかった場合のフローをテストすることもできます。

ただし、応答の住所フィールドはnullに設定され、郵便番号フィールドはデフォルトの米国の郵便番号が設定されることに注意してください。

テストページをAlexaアプリの完全なデバイスとして設定することはできません。

Displayインターフェース

Displayインターフェースを使用するスキルをテストすることができます。また、デバイスの表示オプションを有効にして、応答がさまざまなデバイスでどう表示されるかを確認できます。ただし、Fire TVなどほかのデバイスで応答がどう表示されるかは確認できません。

フラッシュブリーフィングスキル

このシミュレーターはフラッシュブリーフィングスキルのテストをサポートしていません。

位置情報サービス

位置情報サービスを使用すると、スキルからユーザーのデバイスに関連付けられた動的な位置情報をリクエストできます。Alexaシミュレーターを使用してテストしている場合、ユーザーが位置情報サービスを許可していないときのフローをテストできます。

ただし、シミュレーターはユーザーがアクセスを許可しているケースはテストできません。

テストページをAlexaアプリの完全なデバイスとして設定することはできません。

PlaybackControllerインターフェース

Alexaは、ユーザーがリモコンなどの機器を操作したときに、このリクエストをスキルに送信します。このシミュレーターではこのリクエストをテストできません。

プログレッシブ応答

シミュレーターでは、フル応答の準備ができると、プログレッシブ応答とフル応答が同じオーディオストリームで再生されます。つまり、プログレッシブ応答が聞こえてから、続けてフル応答が聞こえます。

リマインダーAPI

シミュレーターは、スキルで想定されるリマインダーを提供しません。

再プロンプト

シミュレーターでは、Alexaデバイスのように、対話の終了後にユーザーへの再プロンプトは行われません。

Alexa設定API

通常、Alexa設定APIを使用すると、ユーザーのAlexa設定からタイムゾーン、長さの単位、温度の単位を取得できます。ただし、Alexaシミュレーターで生成されたdeviceId値とapiAccessToken値を使用してAlexa設定APIにクエリを実行する場合は、タイムゾーン値しか取得できません。長さの単位や温度の単位を取得しようとすると、Alexaから「Error 204 No Content」エラーメッセージが返されます。

スマートホームライブデバッガー

スマートホームライブデバッガーはベータ版であり、予告なく変更されることがあります。詳細については、スマートホームスキルのテストとデバッグを参照してください。

VideoAppディレクティブ

このシミュレーターにはビデオ再生機能はありません。その代わり、スキルI/Oセクションにスキルから送信されるVideoAppディレクティブが表示されます。

Web API for Games

このシミュレーターは、Alexa.Presentation.HTMLインターフェースとAlexa Web API for Gamesのテストをサポートしていません。

キャラクターディスプレイを搭載したデバイス

スキルのテストは実行できますが、このシミュレーターでは、Echo Dot with clockなどのキャラクターディスプレイで応答がどう表示されるかは確認できません。

インテントのデバッグ

このシミュレーターでは、デバイスのログにJSON応答で返されたconsideredIntentsが表示され、Alexaによって候補に挙げられたが破棄されたインテントを確認できます。この情報を使用してインテントのデバッグを実行し、意図したインテントとスロットに発話を解決するようにモデルをトレーニングするために、追加のサンプルをどのように使用するか決めることができます。