将Botium脚本内存变量传递给Asserter

时间:2019-10-11 07:30:25

标签: javascript node.js

这是一个示例 test.convo.text

Test asserter

#me
Show my json

#bot
$json

MY-CUSTOM-ASSERTER $json

断言者选择'$ json'字符串作为参数。

我希望将漫游器回复的JSON作为args传递。

是否可以像访问process.env一样访问脚本变量?

1 个答案:

答案 0 :(得分:1)

在编写断言器时,传递给断言器函数的参数之一是“ 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)