Alexaシミュレーターを使用したテスト
Alexa開発者コンソールでAlexaシミュレーターを使うことで、デバイスを使わずにスキルをテストできます。シミュレーターではスキルのセッションが維持されるため、スキルフロー全体のテストが可能です。音声またはテキストを使用して、カスタムスキルやスマートホームスキルと対話できます。さまざまなデバイスの形状でAlexa Presentation Language(APL)のエクスペリエンスをプレビューするには、シミュレーターを使用してAPL応答をレンダリングします。シミュレーターセッションは、ファイルに保存して後から再生できます。
その他のシミュレーションツールの詳細については、次のリファレンスを参照してください。
前提条件
シミュレータでスキルをテストする前に、次の前提条件を満たす必要があります。
- (カスタムスキルの場合のみ)対話モデルをビルドし、エラーがないことを確認します。
- 有効なエンドポイントのコンフィギュレーションを行い、スキルコードをエンドポイントにデプロイします。
- スキルをテスト用に有効にします。
- (スマートホームおよびビデオスキルの場合)テストを開始する前に、Alexaアプリでスキルを有効にし、必要な情報を入力します。
シミュレーターテストオプション
以下のシミュレーターテストオプションを利用できます。
- スキルI/O –(カスタムスキルの場合のみ)Alexaが対話の各ターンに送信するJSONリクエストと応答のペイロードを表示する場合。吹き出しをクリックすると、そのターンに関連するJSONを確認できます。
- デバイスの表示 – 画面付きのデバイスにスキルがどう表示されるかを確認する場合。シミュレーターでAPLスキルをテストする方法の詳細については、開発者コンソールのシミュレーターでAPLスキルをテストするを参照してください。
- デバイスのログ –(カスタムスキルの場合のみ)スキルの対話中にAlexaに送信されるイベントと、デバイスに送信されるディレクティブを確認する場合。詳細については、インテントのデバッグを参照してください。
- Alexaスマートホーム(ベータ)–(スマートホームスキルの場合のみ)スキルがAlexaイベントゲートウェイに送信する
ChangeReport
イベントを確認する場合。詳細については、スマートホームスキルのテストとデバッグを参照してください。
開発者コンソールでシミュレーターを使用する
シミュレーターは開発者コンソールのテストページにあります。シミュレーターペインで、音声またはテキストを使用してスキルを操作できます。表示ペインでは、選択したテストオプションに基づいたシミュレーションの結果を確認できます。
次の図は、スキルI/Oオプションとデバイスの表示オプションが選択されたシミュレーションを示しています。
シミュレーターでスキルをテストする
シミュレーターでスキルをテストするには、次の手順を実行します。音声またはテキストを使用してスキルを操作できます。
開発者コンソールのシミュレーターを使用してテストするには
- Alexa開発者コンソールにサインインします。
- スキルの一覧からスマートホームスキルを見つけ、アクションを選択のドロップダウンから編集を選択します。
- テストページを開きます。
- 音声でテストするには、developer.amazon.comでのマイクの使用許可を求めるポップアップで、許可を選択します。
- 既にテストを有効にしている場合は、コンソールにスキルテストが有効になっているステージと表示されます。このリストから、スキルのテストステージとして開発中または公開中を選択します。
- シミュレーターを表示するには、Alexaシミュレータタブをクリックします。
- スキルタイプに適したシミュレーターオプションを有効にします。
- 言語ドロップダウンリストでテストする言語を選択します。
- シミュレーターペインで、テスト発話を入力します。
または、音声を使用する場合は、マイクをクリックして長押しし、テスト発話を行います。 - スキルI/Oを有効にすると、スキルの呼び出しペインにJSON入力とJSON出力が表示されます。
- デバイスの表示を有効にしている場合は、画面付きデバイスでコンテンツがどのように表示されるかを確認するために、スキルの呼び出しセクションの下までスクロールしてください。
表示サイズを変更するには、ドロップダウンからデバイスを選択します。 - デバイスのログを有効にしている場合は、ディレクティブとイベントを表示するために、デバイスのログペインまでスクロールしてください。
シミュレーターを使用してカスタムスキルをテストする場合、context.System.device.supportedInterfaces
プロパティにはカスタム>インターフェースページで選択したインターフェースが反映されます。たとえば、AudioPlayerとAlexa Presentation Languageを選択した場合、シミュレーターからスキルに送信されるリクエストには次のcontext
オブジェクトが含まれ、そのリクエストがこれら両方のインターフェースをサポートするデバイスから受け取ったものであることがわかります。
{
"context": {
"System": {
"device": {
"deviceId": "amzn1.ask.device.1",
"supportedInterfaces": {
"AudioPlayer": {},
"Alexa.Presentation.APL": {
"runtime": {
"maxVersion": "1.8"
}
}
}
}
}
}
}
シミュレーターの制限事項
以下の制限事項は、このシミュレーターでの音声およびテキストのテストに適用されます。
機能 | Alexaシミュレーターのサポート範囲 |
---|---|
このシミュレーターにはオーディオ再生機能はありません。その代わり、スキルI/Oセクションにスキルから送信される 再生機能がないため、再生中にイベントによってトリガーされる |
|
|
テスト発話を入力するときに、「2019/4/15」といった日付の省略表記は使用しないでください。 略さずに話し言葉で日付を書きます。たとえば、次のフレーズを使うと、有効な日付が日付スロットに生成されます。
「2019-04-15」、「2019/4/15」、「4/15」などの入力値は正しく日付に解決されません。
|
Device Settings APIを使用すると、ユーザーのデバイスに関連付けられた所在地情報をリクエストできます。Alexaシミュレーターを使ったテスト時に、スキルはデバイスアドレスAPIを呼び出してエラーのない応答を受け取ることができます。ユーザーがデバイスアドレスの権限を付与しなかった場合のフローをテストすることもできます。 ただし、応答の住所フィールドは テストページをAlexaアプリの完全なデバイスとして設定することはできません。 |
|
|
|
このシミュレーターはフラッシュブリーフィングスキルのテストをサポートしていません。 |
|
位置情報サービスを使用すると、スキルからユーザーのデバイスに関連付けられた動的な位置情報をリクエストできます。Alexaシミュレーターを使用してテストしている場合、ユーザーが位置情報サービスを許可していないときのフローをテストできます。 ただし、シミュレーターはユーザーがアクセスを許可しているケースはテストできません。 テストページをAlexaアプリの完全なデバイスとして設定することはできません。 |
|
Alexaは、ユーザーがリモコンなどの機器を操作したときに、このリクエストをスキルに送信します。このシミュレーターではこのリクエストをテストできません。 |
|
シミュレーターでは、フル応答の準備ができると、プログレッシブ応答とフル応答が同じオーディオストリームで再生されます。つまり、プログレッシブ応答が聞こえてから、続けてフル応答が聞こえます。 |
|
シミュレーターは、スキルで想定されるリマインダーを提供しません。 |
|
シミュレーターでは、Alexaデバイスのように、対話の終了後にユーザーへの再プロンプトは行われません。 |
|
通常、Alexa設定APIを使用すると、ユーザーのAlexa設定からタイムゾーン、長さの単位、温度の単位を取得できます。ただし、Alexaシミュレーターで生成された |
|
スマートホームライブデバッガーはベータ版であり、予告なく変更されることがあります。詳細については、スマートホームスキルのテストとデバッグを参照してください。 |
|
このシミュレーターにはビデオ再生機能はありません。その代わり、スキルI/Oセクションにスキルから送信される |
|
このシミュレーターは、Alexa.Presentation.HTMLインターフェースとAlexa Web API for Gamesのテストをサポートしていません。 |
|
キャラクターディスプレイを搭載したデバイス |
スキルのテストは実行できますが、このシミュレーターでは、Echo Dot with clockなどのキャラクターディスプレイで応答がどう表示されるかは確認できません。 |
インテントのデバッグ
このシミュレーターでは、デバイスのログにJSON応答で返されたconsideredIntents
が表示され、Alexaによって候補に挙げられたが破棄されたインテントを確認できます。この情報を使用してインテントのデバッグを実行し、意図したインテントとスロットに発話を解決するようにモデルをトレーニングするために、追加のサンプルをどのように使用するか決めることができます。
関連トピック
最終更新日: 2022 年 01 月 24 日