将 Botium 脚本内存变量传递到 Asserter 中



下面是一个示例test.convo.text

Test asserter
#me
Show my json
#bot
$json
MY-CUSTOM-ASSERTER $json

断言者选取"$json"字符串作为参数。

我希望机器人回复的 JSON 作为参数传递。

有没有办法访问脚本变量,就像我们如何访问process.env一样?

在编写断言器时,传递给断言器函数的参数之一是"botMsg",它实际上包含聊天机器人响应(在 botMsg.messageText 中( - 所以我认为使用这个$json脚本变量来做这件事没有任何意义。您可以在 Botium Wiki 中找到自定义断言器的详细参数列表。

您的自定义断言器可能如下所示:

module.exports = class CustomAsserter {
assertConvoStep ({args, scriptingMemory, botMsg}) {
// do whatever you want with botMsg and scriptingMemory
if (botMsg.messageText !== 'HUGO') return Promise.reject('Expected HUGO')
return Promise.resolve()
}
}

您可以使用 $func 将环境变量作为脚本变量进行访问

#me
add to my cart $func(process.env.BOTIUM_PRODUCT)

最新更新