Visual Studio Codeでスキルをテストする



Visual Studio Codeでスキルをテストする

Alexa Skills Toolkit for Visual Studio Code(ASK Toolkit for VS Code)を使うと、スキルをローカルで作成しながらテストできます。別のツールやページに移動しなくても、VS Code Alexaシミュレーターページからローカルスキルをテストできます。また、Alexa開発者コンソールのAlexaシミュレーターやASK CLIなど、他の方法でローカルスキルをテストすることもできます。

前提条件とインストール手順については、ASK Toolkit for VS Codeで開発を始めるを参照してください。

前提条件

ローカルスキルを呼び出す前に、ask-sdk-local-debugをスキルプロジェクトに追加します。SDK言語の手順に従って、ask-sdk-local-debugをスキルに追加します。

ローカルAlexaスキルのテストを準備する

VS CodeでローカルAlexaスキルのテストを準備する

  1. 次の手順で、スキルのlaunch.jsonファイルを作成します(まだ作成していない場合)。

    1. Runメニューを開き、Add Configuration…を選択します。Select Environmentダイアログが表示されます。
    2. Node.jsPythonのいずれかのプログラミング言語を選択します。launch.jsonファイルがプロジェクトに追加され、エディターが開きます。次のようなコードが表示されます。

      {
          "version": "0.2.0",
          "configurations": [
              {
                  "type": "node",
                  "request": "launch",
                  "name": "Launch Program",
                  "skipFiles": [
                      "<node_internals>/**"
                  ],
                  "program": "${file}"
              }
          ]
      }
      
  2. 次の手順で、Alexaデバッガーのコンフィギュレーションをlaunch.jsonファイルに追加します(まだ追加していない場合)。

    1. Runメニューを開き、Add Configuration…を選択します。オプションのリストが表示されます。
    2. ASK: Alexa Skills Debugger (Node.js)ASK: Alexa Skills Debugger (Python)のいずれかを選択します。コンフィギュレーションコードがlaunch.jsonファイルに追加されます。次のようなコードが表示されます。

      {
          "version": "0.2.0",
          "configurations": [
              {
                  "name": "Debug Alexa Skill (Node.js)",
                  "type": "node",
                  "request": "launch",
                  "program": "${command:ask.debugAdapterPath}",
                  "args": [
                      "--accessToken",
                      "${command:ask.accessToken}",
                      "--skillId",
                      "${command:ask.skillIdFromWorkspace}",
                      "--handlerName",
                      "handler",
                      "--skillEntryFile",
                      "${workspaceFolder}/lambda/index.js"
                  ]
              },
              {
                  "type": "node",
                  "request": "launch",
                  "name": "Launch Program",
                  "skipFiles": [
                      "<node_internals>/**"
                  ],
                  "program": "${file}"
              }
          ]
      }
      
    3. 変更をlaunch.jsonファイルに保存します。
  3. Alexaデバッガーコンフィギュレーションで、開発者アカウントのあるAlexaリージョンを指定します。有効なリージョンは、ヨーロッパ(EU)、極東(FE)、北米(NA)のいずれかです。デフォルトのリージョンは北米です。

    1. 開発者アカウントのマーケットプレイスに対応するAlexaリージョンについては、リソースをさまざまなAWSリージョンでホスティングするの表を参照してください。
    2. launch.jsonファイルを開きます。
    3. args配列にリージョンを追加するか、既存のリージョンを編集します。リージョンの有効な値は、EUFENAのいずれかです。コードは次のようになります。
      {
          "version": "0.2.0",
          "configurations": [
              {
                  "name": "Debug Alexa Skill (Node.js)",
                  "type": "node",
                  "request": "launch",
                  "program": "${command:ask.debugAdapterPath}",
                  "args": [
                      "--accessToken",
                      "${command:ask.accessToken}",
                      "--skillId",
                      "${command:ask.skillIdFromWorkspace}",
                      "--handlerName",
                      "handler",
                      "--skillEntryFile",
                      "${workspaceFolder}/lambda/index.js",
                      "--region",
                      "FE"
                  ]
              },
              {
                  "type": "node",
                  "request": "launch",
                  "name": "Launch Program",
                  "skipFiles": [
                      "<node_internals>/**"
                  ],
                  "program": "${file}"
              }
          ]
      }
      
    4. 変更をlaunch.jsonファイルに保存します。

ローカルのAlexaスキルをテストする

この手順を実行する前に、前提条件ローカルAlexaスキルのテストを準備するの手順を完了してください。

VS CodeでローカルAlexaスキルをテストする

  1. Runメニューを開き、Start Debuggingを選択します。

    スキルコードが開始し、WebSocketがローカルマシンとAlexaプロキシサービスを接続します。スキルへのリクエストは、Alexaプロキシサービスとの接続が開いている限り、ローカルスキルコードに直接ルーティングされます。接続は1時間開いたままになります。1つのスキルに複数の接続を作成することはできません。

  2. 次の方法のいずれかでスキルをテストします。

ローカルでのテストを停止するには、Runメニューを開いてStop Debuggingを選択します。これにより、Alexaプロキシサービスとの接続が終了し、Alexaはローカルスキルではなくスキルに設定したエンドポイントを呼び出すようになります。

VS CodeのAlexaシミュレーターでスキルをテストする

VS Code IDEのSkill Simulationページからスキルをテストできます。スキルシミュレーターを使うと、VS Code IDEから移動することなくAlexaに発話を送信し、応答を受け取ることができます。

以下は、Visual Studio Code IDEのSkill Simulationページのスクリーンショットです。

VS Code IDEのSkill Simulationページ

VS CodeのAlexaシミュレーターを使用する

VS CodeのAlexaシミュレーターでローカルスキルをテストする

  1. アクティビティバーで、Alexaアイコンをクリックします。Alexa Skills Toolkitサイドバーが表示されます。
  2. Skills、スキル、Test skillの順に展開し、Open simulatorを選択します。Skill Simulationページが表示されます。
  3. Talk to AlexaセクションのSkill stageで、Developmentを選択します。このステップでは、スキルのテストをオンにし、ページ下部にある発話テキストボックスを有効にします。
  4. Localeで、テストする言語とロケールを選択します。スキルには、選択した言語とロケールの対話モデルが含まれる必要があります。詳細については、対話モデルを参照してください。
  5. ページ下部のテキストボックスに発話を入力し、Sendをクリックします。リクエストがAlexaに送信され、応答が表示されます。応答を受信したら、以下を実行できます。

    • Skill I/Oタブを選択すると、最近のリクエストと応答のJSONを確認できます。
    • Execution Infoタブを選択すると、検討されたインテントなどの情報を確認できます。
    • Device Previewタブを選択すると、スキルからの応答がデバイスの画面にどう表示されるかを確認できます。Change viewportを使用して、round、small、medium、large、full-screen TVからビューを選択します。
  6. 必要に応じて、上述のステップを繰り返します。新しい発話を入力するか、キーボードの上下矢印キーを使って前の発話を入力します。Alexaが前のリクエストに応答するまでは、新しい発話を入力できません。
  7. Talk to Alexaセクションの発話と応答は、いつでもResetボタンをクリックして消去できます。
  8. テキストボックスにexitと入力してSendを送信すると、スキルのテストをオフにしてテストセッションを終了できます。

VS CodeのAlexaシミュレーターでセッションの保存や再生を行う

スキルをテストしている間、同じ発話を繰り返しAlexaに送信する場合があります。テストセッション中に入力した発話を保存して、後で再生できます。

VS CodeのAlexaシミュレーターでテストセッションの保存や再生を行う

  1. セッションを保存するには、Exportボタンをクリックします。発話がjsonとして保存され、ファイルを保存する場所を指定するようプロンプトが表示されます。
  2. セッションを再生するには、Alexa Skills Toolkitサイドバーで、Skills、スキル、Test skillの順に展開し、Replay sessionを選択します。以前に保存したファイルの場所を指定するようプロンプトが表示されます。ファイルを指定したら、シミュレーターで発話が再生されます。
  3. テキストボックスにexitと入力してSendを送信すると、スキルのテストをオフにしてテストセッションを終了できます。