Botframework MS bot与邮递员在当地测试

Botframework MS bot与邮递员在当地测试,botframework,Botframework,我在本地使用Microsoft Bot Framework,如果我在C.Net Core和Node.js中都使用MSFT Bot emulator进行测试,它会工作得很好,但我不知道如何使用Postman api调用进行测试 我真的需要首先在MSFT注册bot吗?即使它在本地运行,也可以获得身份验证?在本地主机上运行的bot应该可以通过任何HTTP客户端(如Postman)进行测试,只要您正确地生成请求,这只意味着您只需要一个有效活动表示的负载 您可能需要检查的是,当您在localhost中运行

我在本地使用Microsoft Bot Framework,如果我在C.Net Core和Node.js中都使用MSFT Bot emulator进行测试,它会工作得很好,但我不知道如何使用Postman api调用进行测试


我真的需要首先在MSFT注册bot吗?即使它在本地运行,也可以获得身份验证?

在本地主机上运行的bot应该可以通过任何HTTP客户端(如Postman)进行测试,只要您正确地生成请求,这只意味着您只需要一个有效活动表示的负载

您可能需要检查的是,当您在localhost中运行时,是否在bot上配置了任何应用程序凭据。如果设置了这些参数,那么您实际上还需要对本地主机实例进行正确的身份验证,仿真器也会这样做,但如果您只是想用类似于Postman的东西来攻击它,您可能不想这样做。因此,在本地主机模式下运行时,请确保清除应用程序凭据,以使您的生活更轻松

如果您没有使用任何应用程序凭据运行,那么您需要更新您的问题,并提供有关发送的负载、bot配置方式等的详细信息。我很乐意更新我的答案。

通常,客户端和bot之间有一个连接器服务。可以绕过连接器服务,直接发布到bot,但有几件事需要记住。您将遇到的问题之一是activity.ServiceUrl应为返回消息的回调基url:ref如果没有有效的ServiceUrl,bot回复将以异常结束,因为没有有效的位置发送响应。您可以设置以接收这些机器人回复。设置完成后,只需确保发送到bot的消息的ServiceUrl指向该MockChannel即可

有时,我将Emulator的连接器服务与PostMan一起使用。这可以在没有MicrosoftAppId和MicrosoftAppPassword的情况下完成。打开实时聊天选项卡时,您将在日志中看到Emulator Connector服务正在侦听的端点:

这将是邮递员使用的基本URL

创建对话: 注意:emulator需要一个带有承载令牌的授权头,但该值并不重要,因为我们没有使用MicrosoftAppId和MicrosoftAppPassword

留言:

获取消息:

我相信我没有进行身份验证。Bot仿真器的端点为。我可以看到Emulator使用directline.StartConversation调用启动对话,但我不知道如何通过Postman以相同的方式启动对话。好的,您能用发送的负载更新您的问题吗?它应该是一个POST和application/json,带有一个活动的json表示。一旦你更新了更多的细节,我会有一个更好的想法如何帮助你。如果你认为有帮助的话,也可以包括邮递员的截图。