1

想知道是否有任何方法可以使用 Botium 框架单击卡片按钮 - https://github.com/codeforequity-at/botium-core

例如,我有一个返回卡片轮播的机器人,每张卡片都附有大量按钮,我希望能够在对话规范中触发对该按钮的点击。

这是返回给 Botium 框架的示例处理响应:

  "cards":[
  {
     "text":"Card 1",
     "buttons":[
        {
           "text":"Learn more",
           "payload":"a custom payload"
        },
        {
           "text":"Other button",
           "payload":"a custom other payload"
        }
     ]
  },
  {
     "text":"Card 2",
     "buttons":[
        {
           "text":"More Stuff,
           "payload":"a custom payload for card 2"
        }
     ]
  }
 ]

以下是规范测试文件的示例。

#me
Hello

#bot
CARDS Card 1 | Card 2
BUTTONS Learn More | Other button | More Stuff

#me
BUTTON Learn More

我对上述测试的期望是,当#me 用户发送按钮单击“了解更多”时,它将从附加到“卡 1”的按钮中获取有效负载,标题为“了解更多”,并通过 api 将其发送给机器人.

所以在这种情况下,它会发送:{"text":"Learn more", "payload":"a custom payload"}

这可能吗 ?

我也知道我可以在规范文件中像这样指定有效负载

#me
BUTTON Learn More|a custom payload

但我不想这样做,因为它没有完全测试机器人,我想确保我的机器人有效负载配置正确并且不提供有效负载,因为这会完全破坏测试的目的。

4

1 回答 1

0

目前,Botium 不支持这一点,但它完全有道理。

可以插入一个自定义组件来执行您所描述的操作 - 有关介绍,请参阅Botium Wiki

于 2020-04-28T11:10:46.763 回答