【问题标题】:How to test FB messenger bot with multiple users如何使用多个用户测试 FB Messenger bot
【发布时间】:2016-12-24 08:49:10
【问题描述】:

有没有人可以在不使用真实 FB 帐户的情况下与 FB Messenger 机器人交互?我想做自动化测试,显然不使用真实账户。 我无法弄清楚如何允许访问页面以“测试用户”或创建测试页面并订阅测试应用程序。 关于如何做到这一点的任何想法?

【问题讨论】:

  • 你应该改进这个问题的主题以引用自动化,因为测试具有多个用户的机器人非常简单,但自动化测试并不那么简单。

标签: facebook bots facebook-messenger facebook-test-users facebook-chatbot


【解决方案1】:

我使用我制作的一个小网络应用程序充当本地版本的 facebook messenger api 服务器并运行用户操作。

https://github.com/Fraser-Greenlee/bot_tester

您可以在上面编写脚本来定义新用户及其操作。

【讨论】:

    【解决方案2】:

    从 Facebook 开发人员仪表板中,选择您的应用,然后选择角色。从角色中,您可以将其他 Facebook 用户添加为测试用户。对我来说,使用用户的 facebook id 是最简单的。通过电子邮件添加并不总是适合我。

    我不知道如何在没有 Facebook 帐户的情况下访问 Facebook 机器人。我创建了几个假账户,并让我的朋友测试了这个机器人。经过测试,我删除了虚假帐户。

    有关设置机器人的更多信息,请参阅我的文章Facebook Bots for Fun and Profit

    示例机器人是DMS Software Bot

    源码是Github fb-robot

    【讨论】:

      【解决方案3】:

      目前不支持使用非 fb 用户测试 fb bot。原因如下:

      • fb messenger 要求用户登录
      • fb 为与机器人交互的每个用户创建页面范围 ID (PSID),因此需要登录 fb

      关于测试的问题:

      另一方面,如果您使用 3rd 方应用程序来构建您的机器人(例如:api.ai、wit.ai),他们在应用程序中已经有模拟器,这使得测试更加容易。

      【讨论】:

        【解决方案4】:

        至少实现信使机器人自动化测试的一种简单方法是尝试模仿来自 FB 的请求。您只需将收到的请求记录到您的机器人中,即可找到 FB 发送的请求的签名。然后,您可以通过发送具有相同签名的 http 请求来假装是 FB。您还必须添加代码以使用您的回复来响应这些 http 请求,而不仅仅是将消息发送到 FB 的发送 API。

        所以在节点中它会是这样的

        sendMessage(<your reply>);
        res.send(<your reply>);
        

        现在您有了一种自动发送和接收消息的方式,可用于自动化测试。

        但我认为更大的挑战是提出足够的测试用例。您需要结合使用对可用数据的聚类和分类来生成新案例。

        我一直在开发一种工具来简化此操作。因此,如果您有兴趣,可以注册抢先体验。 http://ozz.ai

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-08-28
          • 1970-01-01
          • 2017-03-30
          • 1970-01-01
          • 2016-09-20
          • 1970-01-01
          • 2023-04-05
          • 1970-01-01
          相关资源
          最近更新 更多