10000 GitHub - vb64/test.helper.yandex.alice.flask: Class for autotests YandexAlice skill, that implemented as flask application
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

vb64/test.helper.yandex.alice.flask

Repository files navigation

Класс для автотестов навыка ЯндексАлисы

GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status Codacy Badge Codacy Badge

Класс python для автоматического тестирования навыка Яндекс Алиса, реализованного на python/flask.

Установка:

pip install tester_alice_skill_flask

Использование:

from tester_alice_skill_flask import Interface, Skill
from buy_elephant import app  # импортируем приложение flask из тестируемой программы

# создаем экземпляр навыка
skill = Skill(
  app,
  'xxx-yyy-zzz',  # идентификатор навыка из кабинета разработчика
  '/alice',  # адрес, на котором приложение принимает запросы от Алисы
  is_screen_need=False  # наличия устройства с экраном для работы навыка не требуется
)

# новая сессия работы с Яндекс.Алиса
session = skill.new_session(
  '1234567890',  # ID пользователя Алисы, создавшего сессию
  [Interface.Screen],  # сессия открывается для устройства с экраном
  locale='ru-RU',
  timezone="Europe/Moscow",
  client_id="ru.yandex.searchplugin/5.80 (Samsung Galaxy; Android 4.4)",
  command=""  # опциональная команда, передаваемая при запуске навыка. например, 'помощь'
)

# история диалога содержит подстроку
assert session.contain("Купи слона!")

# диалог содержит две кнопки
assert len(session.buttons) == 2

# нажать первую кнопку
session.send_button(0)

assert session.contain("Все говорят")

# послать текст
session.send("Отстань!", command="", nlu={"entities": [], "tokens": []})

# вывести текущую историю диалога
print(session.dump())

Q:
A: Привет! Купи слона!

Q: [Не хочу.]
A: Все говорят "Не хочу.", а ты купи слона!

Q: Отстань!
A: Все говорят "Отстань!", а ты купи слона!

[Отстань!] [Ладно]

# очистить историю диалога
session.clear()

# купить слона
session.send("ладно")

assert session.contain("Слона можно найти на Яндекс.Маркете!")
assert not session.contain("Все говорят")

About

Class for autotests YandexAlice skill, that implemented as flask application

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0