Skip to main content

A framework for testing Alexa Skills developed in Python with the alexa-skills-kit-sdk-for-python.

Project description

py_ask_sdk_test

This is a framework for testing Alexa Skills developed in Python with the alexa-skills-kit-sdk-for-python, which is mostly a translation of taimos' Alexa Skill Test Framework in Typescript, which itself is based on the alexa-skill-test-framework by Brian MacIntosh.

The framework uses assert to check the expected behaviour. So the best way to go is using it with pytest.

The ask-sdk version it is based on is ask-sdk-core=1.10, ask-sdk-runtime=1.10 and ask-sdk-model=1.11.

Install:

You can install the framework via pip:

pip install py_ask_sdk_test

Example:

You can see an example for using the framework in the following and in the framework's test-files:

from py_ask_sdk_test.alexa_test import AlexaTest
from py_ask_sdk_test.classes import TestItem, SkillSettings, SupportedInterfaces
from request_builders.launch_request_builder import LaunchRequestBuilder
from request_builders.intent_request_builder import IntentRequestBuilder
from pseudo_handler import handler


skill_settings = SkillSettings(app_id="<Your skill's id>",
                               user_id="<Your user id>",
                               device_id="<Your device id>",
                               locale="<The locale of your skill>",
                               interfaces=SupportedInterfaces())  # interfaces your skill supports (audio, video etc.)


def test_launch_request():
    """Tests the LaunchRequest's speech and repromt output"""
    alexa_test = AlexaTest(handler)
    alexa_test.test(
        [
            TestItem(
                LaunchRequestBuilder(skill_settings).build(),
                expected_speech="Salve, gaudeo te videre!",
                expected_repromt="Vin aliquid dicere?",
                check_question=False
            ),
            TestItem(
                IntentRequestBuilder("DeiIntent", skill_settings).build(),
                expected_speech=(r"Jupiter.+", True),
                expected_repromt="",
                check_question=False
            )
        ]
    )

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for py-ask-sdk-test, version 1.3
Filename, size File type Python version Upload date Hashes
Filename, size py_ask_sdk_test-1.3.tar.gz (10.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page