lex-bot-tester unterstützt ist ein Framework und Werkzeug Konversations Tests für Amazon Alexa und Lex zu erstellen.
Anstatt eine simulierte Version des Skill zu verwenden, verwendet es die vorhandene SMAPI, um mit Alexa umzugehen.
Die Tests können manuell erstellt oder automatisch von einem mitgelieferten Tool namens urutu
generiert werden. Derzeit ist die Codegenerierung python
, aber die Skill-Implementierung kann in jeder unterstützten Sprache erfolgen.
Nachdem Sie mit der Fähigkeit von der Kommandozeile in Wechselwirkung treten, das Gespräch zu definieren, sieht der generierte Code wie dieser
#! /usr/bin/env python
import sys
import unittest
from lex_bot_tester.aws.alexa.alexaskilltest import AlexaSkillTest
verbose = True
class GeneratedTests(AlexaSkillTest):
def test_book_my_trip_reserve_car(self):
"""
Test generated by urutu on 2018-02-21 01:24:51
"""
skill_name = 'BookMyTripSkill'
intent = 'BookCar'
conversation = [{'slot': None, 'text': 'ask book my trip to reserve a car', 'prompt': None},
{'slot': 'CarType', 'text': 'midsize',
'prompt': 'What type of car would you like to rent, Our most popular options are economy, midsize, and luxury'},
{'slot': 'PickUpCity', 'text': 'vancouver',
'prompt': 'In what city do you need to rent a car?'},
{'slot': 'PickUpDate', 'text': 'tomorrow',
'prompt': 'What day do you want to start your rental?'},
{'slot': 'ReturnDate', 'text': 'next week',
'prompt': 'What day do you want to return the car?'},
{'slot': 'DriverAge', 'text': '25', 'prompt': 'How old is the driver for this rental?'}]
simulation_result = self.conversation_text(skill_name, intent, conversation, verbose=verbose)
self.assertSimulationResultIsCorrect(simulation_result, verbose=verbose)
if __name__ == '__main__':
unittest.main()
Es gibt eine ausführlichere Erklärung und einige Videos bei Testing Alexa Skills — Autogenerated tests.