0

使用 Botium,我将能够处理不同的响应集吗?我的意思是不同的计数。

有时我得到两个响应,有时我对相同的输入文本只得到一个响应。聊天机器人将在成功时返回两个响应,在失败时返回一个响应。

如果我总是得到一个响应,但只有响应值不同,我可以使用 utterances 文件添加所有这些不同的响应。

但是如果计数本身会有所不同,我该如何处理呢?

4

1 回答 1

1

这是两个不同的测试用例,应该这样处理 - 两个不同的 convos。从测试自动化的角度来看,当使用聊天机器人跟踪给定的脚本时,无法决定脚本是应该继续还是应该等待额外的响应。

例如:

#me
hello bot

#bot
hello

#bot
how are you

#me
please tell me the weather

如果机器人有时发送“你好吗”,有时不发送,Botium 应该如何知道何时应该继续发送“请告诉我天气”?它应该等待两秒钟“你好吗”?还是应该在对话继续之前等待八秒钟以等待另一个响应?

更新 20.03.2020

你不能用 Fluent 接口做你想做的事,但使用异步 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-albie-1

于 2020-03-13T10:52:08.857 回答