Test Your Skill
This document describes the steps to test your skill during development.
- Ways to Test an Alexa Skill
- Minimum Skill Configuration
- Deploy Your Skill Code
- Test Your Skill in the Developer Console
- Register an Alexa-enabled Device with Your Developer Account
- Related Topics
Ways to Test an Alexa Skill
During development, there are multiple options for testing a new skill:
- Use the simulator provided on the Test page in the developer console. This gives you access to most Alexa Skills Kit features without a device. You can interact with Alexa using either voice or text.
- Test by voice using an Alexa-enabled device.
- Use ASK CLI to test the skill from the command line. You can test your skill using ASK CLI commands such as invoke-skill and simulate-skill. See ASK CLI Quick Start for more information about managing skills from the command line.
- Use the skill testing features of the Skill Management API.
Regardless of how you test, you need to provide the minimum configuration data and deploy your skill service.
Minimum Skill Configuration
To enable your skill for testing, you need to complete the minimum required configuration for the interaction model included in your skill. All of these settings are available on the Build page.
Custom Model Minimum Configuration
| Section | Requirement |
|---|---|
|
Custom > Interaction Model |
The interaction model must have:
The model must build without errors. |
|
Custom > Endpoint |
A valid AWS Lambda ARN or HTTPS endpoint.
|
Depending on your skill and what you need to test, you may also need to fill out these sections on the Build page:
- Custom > Interfaces: If your skill uses any of the device interfaces, enable them on this page.
-
Account Linking: If your skill uses account linking, configure it here.
Note that the full account linking configuration is not required to test intents that do not require authentication. However, it is required to test any intent that returns a
LinkAccountCardor that requires authentication. - Permissions: If your skill uses any permissions (such as for the Device Address API), enable them here.
Pre-built Model Minimum Configuration
| Model | Required Fields |
|---|---|
|
Flash Briefing |
|
|
Smart Home |
You also need an account configured for your device cloud and discoverable devices for that account. |
|
Video |
|
Deploy Your Skill Code
Before you can test your skill, you must configure the minimum required data for the skill in the developer console and deploy the code for your cloud-based service. How you deploy your service depends on the interaction model included in the skill:
| Model | Skill Service Hosting Options |
|---|---|
|
Custom |
You can do either of the following:
|
|
Flash Briefing |
N/A: In this case, your service is an RSS or JSON feed. See Flash Briefing Skill API Feed Reference. |
|
Smart Home |
You must use an AWS Lambda function. See the Add a Lambda Function section in Steps to Build a Smart Home Skill. |
|
Video |
You must use an AWS Lambda function. See the Add a Lambda Function section in Steps to Create a Video Skill. |
Test Your Skill in the Developer Console
The Test page includes a simulator that lets you test your skill without a device. When you are ready to test, navigate to the Test page for your skill and make sure that Test is enabled for this skill is enabled.
You can use the Test page to test most functionality in a skill, including dialogs, progressive responses, and entity resolution.
The page provides three tabs on the left for different types of testing.
| Tab | Description |
|---|---|
|
Alexa Simulator (Custom skills and smart home skills) |
Use this to interact with a custom or smart home skill with either text or your voice. The simulator maintains the skill session with your skill just as a device would, so you can test the dialog flow. The simulator also sends any cards that your skill returns to the Alexa app the same way a device would. If your skill supports multiple languages, select the language you want to test from the drop-down list. Enable Skill I/O to see the JSON sent to your skill and the JSON returned to Alexa for each turn of the conversation. Note that the JSON is only available for custom skills. Click on a speech bubble to see the JSON related to that turn. Enable Echo Show Display to see an approximation of how the skill displays on the Echo Show. Enable Echo Spot to see an approximation of how the skill displays on the Echo Spot. Enable Device Log to see the events sent to Alexa and the directives sent to the device during the skill interactions. Note that a skill session within the Alexa Simulator tab does not time out the way a device would, to give you more time to enter your responses while testing. If your skill keeps the session open, you can close it with "Alexa, stop." |
|
Manual JSON (Custom skills only) |
Use this to enter a JSON request directly and see the JSON response your skill returns. This option does not maintain the skill session. This is very similar to testing a JSON request in the Lambda console. Note that the Echo Show Display, Echo Spot, and Device Log options are not supported for Manual JSON. If your skill supports multiple region-specific endpoints, you can select the endpoint to test from the list near the bottom of the page. |
|
Voice & Tone |
Use this to enter plain text or SSML and hear how Alexa speaks the text. Select the language you want to hear from the list at the bottom. All supported languages are available in this list, even if your skill does not support them. |

Dialog.Delegate directiveAlexa Simulator Limitations
context.System.device.supportedInterfaces property in the request sent to your skill always contains the Display interface.
In addition, the simulator is not supported for use in multiple browser tabs at the same time.
The following limitations apply to voice and text testing on the Alexa Simulator tab.
| Feature | Alexa Simulator Support |
|---|---|
|
The Alexa Simulator does not render the audio playback, but the Skill I/O section shows the Since the playback does not occur, you cannot test |
|
|
The Device Address API lets you request address information associated with the user's device. When testing with the Alexa Simulator, your skill can call the Device Address API and get back a non-error response. You can also test the flow when the user has not provided the device address permission. However, note that the address fields in the response are set to The Test page cannot be configured as a full device in the Alexa app. |
|
|
You can test skills that use the |
|
|
The Alexa Simulator does not support testing flash briefing skills. |
|
|
The Alexa Simulator does not support Gadget Controller directives or events. |
|
|
The Alexa Simulator does not support Game Engine directives or events. |
|
|
These requests are sent to a skill when a user interacts with controls such as a remote control. These requests cannot be tested with the Alexa Simulator. |
|
|
The Alexa Simulator does not render the video playback, but the Skill I/O section shows the |
Register an Alexa-enabled Device with Your Developer Account
To test with an Alexa-enabled device (such as an Amazon Echo), the device must be registered to the same e-mail address you used to sign up for your developer account on the Amazon Developer Portal. If you have already set up your device using an account other than your Amazon developer account, follow these steps:
- Visit the web version of the Amazon Alexa app (alexa.amazon.com) and sign-in with your Amazon developer account.
- Follow the on-screen instructions to re-register your device with your developer account. Note that this will unregister the existing e-mail address.
- If you want to add back a non-developer account as a user of the device, you can do so by using the Household feature.
Related Topics
Custom:
- Test and Debug a Custom Skill
- Host a Custom Skill as an AWS Lambda Function
- Host a Custom Skill as a Web Service
Flash briefing:
Smart home:
Video:
Developer console: