lex-bot-tester to ramy i narzędzie do tworzenia konwersacyjne testy dla Amazon Alexa i Lex.
Zamiast używać symulowanej wersji umiejętności, wykorzystuje istniejącą SMAPI do radzenia sobie z Alexą.
Testy można tworzyć ręcznie lub automatycznie za pomocą dołączonego narzędzia o nazwie urutu
. Obecnie generowanie kodu to python
, ale implementacja umiejętności może być w dowolnym obsługiwanym języku.
Po interakcji z umiejętności z linii komend, definiowanie rozmowę, wygenerowany kod wygląda następująco
#! /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()
Jest bardziej szczegółowe wyjaśnienie i niektóre filmy w Testing Alexa Skills — Autogenerated tests.