Botium - обрабатывать разные наборы ответов - PullRequest
0 голосов
/ 12 марта 2020

С Botium я смогу обработать другой набор ответов? Я имею в виду различное количество.

Иногда я получаю два ответа, иногда я получаю только один ответ для одного и того же входного текста. Чат-бот вернет два ответа в случае успеха и один ответ при ошибке.

Если я всегда получаю один ответ, но только значение ответа будет другим, я могу использовать файл высказываний, чтобы добавить все эти разные ответы.

Но если сам счет будет другим, как я могу справиться с этим?

1 Ответ

1 голос
/ 13 марта 2020

Это два разных тестовых случая, и они должны обрабатываться как таковые - два разных состава. С точки зрения автоматизации тестирования, при отслеживании заданной расшифровки с помощью чат-бота невозможно решить, следует ли продолжить расшифровку или следует ожидать дополнительного ответа.

Например:

#me
hello bot

#bot
hello

#bot
how are you

#me
please tell me the weather

Если бот иногда отправляет «как дела», а иногда нет, как Botium должен знать, когда ему следует продолжить «пожалуйста, скажите мне погоду»? Стоит ли ждать две секунды "как дела"? Или еще восемь секунд ждать ответа, прежде чем продолжить разговор?

ОБНОВЛЕНИЕ 20.03.2020

Вы не можете делать то, что хотите, с интерфейсом Fluent, но с асинхронным c BotiumDriver API это возможно ( очередь функция просто отправляет текст и получает ответ).

const driver = new BotDriver()
const container = await driver.Build()
await container.Start()

let answer = await turn(container, "order number 1")
if (answer.startsWith("here are the details for order")) {
  await turn(container, "thank you")
} else {
  await turn(container, "thanks for nothing")
}

В качестве демонстрации того, как справиться с этим с Botium Core, вот некоторые пример кода: https://repl.it/@FlorianTreml / replit-botium-bindings-alb ie -1

...