使用Botium CLI时如何通过对话文件处理机器人提示响应?
解决Botium处理机器人提示消息的问题
问题分析
你当前的botium.convo.txt语法不符合Botium的流程控制规则,IF条件判断的写法错误,导致无法正确捕获机器人的提示消息,进而匹配不到RESPONSES_UTT的响应。
修正后的测试用例写法
TC01_GREETING_THE_CHATBOT #bot textCard CARDS textCard|en-US|Hello, I am your assistant #bot prompting #begin #me HELLO_UTT #bot * IF LASTBOT == prompting PAUSE 15000 #bot RESPONSES_UTT * ELSE #bot RESPONSES_UTT #end
关键修正点
- Botium的条件判断需要用
* IF <条件>的格式,基于LASTBOT(上一条机器人消息)做判断,而非你之前错误的#bot IS prompting写法。 - 当检测到上一条机器人消息是
prompting时,先等待足够时间让机器人返回目标响应,再匹配RESPONSES_UTT;如果没有提示消息,直接匹配目标响应。 - 移除了无效的前置
PAUSE 5000,除非你确认机器人发送prompting消息存在固定延迟,否则无需额外提前暂停。
额外优化建议
- 确保
utterances.json中RESPONSES_UTT对应的响应内容,和机器人实际返回的内容完全匹配(包括格式、大小写、特殊字符),Botium默认是严格匹配规则(可配置模糊匹配)。 - 如果机器人的提示消息是固定文本,直接写死在convo文件中,不用变量,能减少匹配误差。
内容的提问来源于stack exchange,提问作者Rakesh Karkare
相关产品推荐
相关产品推荐

