测试聊天机器人的新方法——botfueldialog

testor testor     2022-10-22     785

关键词:

前言:

因为 Botfuel Dialog 聊天机器人是一个网络应用,你可以依靠它强大的编程功能,例如单元与集成测试,来测试你的机器人。

目标

在这篇教程中你可以学习如何使用 Jest 来测试你的聊天机器人,它是一个由 Facebook 开发的测试库。不过,你也可以使用其它测试库,例如 Mocha。

至于这篇教程的目标,是让你学习如何将机器人的手动测试自动化,以确保聊天机器人如期工作。

对于这篇教程,我们会从简单的样例机器人开始。请确保你已按照入门教程运行直至安装部分。

举个例子,初始的样例机器人会有如下的行为:

技术分享图片

 

让我们来写一个测试来确保这一简单功能的运转。

配置

首先,我们需要安装 Jest 作开发基础:

npm install --dev jest

一旦 Jest 安装完成,添加如下 test 脚本到你的 package.json 文件:

技术分享图片

 

你可以通过npm test来运行 Jest。

为了在测试模式下运行聊天机器人,我们需要一个配置文件指出我们将用到的test适配器。用如下内容在根级别创建一个test-config.js文件:

写测试

为了模拟人与机器人之间的对话,我们会使用Bot的play方法。这种方法需要一组用户消息,其可以代表所有用户会发给聊天机器人的所有消息。对于用户来说,它可能是以下几种类型:

●PostbackMessage (回执消息)

●UserImageMessage (用户图片消息)

●UserTextMessage (用户文本消息)

在我们的样例中,他们都是些简单的UserTextMessage。

举个例子,模拟这段对话:

技术分享图片

 

我们会编写:

技术分享图片

 

用户与机器人被捕捉的输出消息被储存进bot.adapter.log,所以我们可以编写以下程序来测试机器人是否如期响应:

技术分享图片

 

比较期望的与实际的输出,我们提供方便的toJson方法以便消息可以相比做原生的 JSON。这种方法需要userId作为一个参数,因为每个UserTextMessage都可以转化为 JSON 的形式,并以消息作者的分类储存在userId下。

这里,你同样也可以使用全部的消息类型。

让我们来写一下完整的测试样例吧!

在聊天机器人的跟级别构建一个tests库并在其中用如下内容创建一个hello.test.js文件:

运行测试前,先执行以下命令:

BOTFUEL_APP_TOKEN=<the BOTFUEL_APP_TOKEN> BOTFUEL_APP_ID=<the BOTFUEL_APP_ID> BOTFUEL_APP_KEY=<the BOTFUEL_APP_KEY> npm test

这里需要你的应用证书因为你的聊天机器人会调用 NLP API。

你会看到如下结果:

技术分享图片

 

到此为止,恭喜你,你已经成功地将一个聊天机器人的测试样例自动化!

本文来源:http://www.51testing.com/html/27/n-3724727.html

Dialogflow Chatbot 负载/性能测试

...描述】:我一直在为我的任务在Dialogflow上开发一个聊天机器人,我的讲师说我需要对聊天机器人进行测试。我想询问是否有任何方法可以测试聊天机器人一次可以处理多少用户?非常感谢您对此事的任何帮助【问题讨论】:【... 查看详情

机器人的语音服务在 Azure 中的“Web 聊天测试”选项中不起作用

】机器人的语音服务在Azure中的“Web聊天测试”选项中不起作用【英文标题】:speechservicesofabotarenotworkingin"TestinWebchat"optioninAzure【发布时间】:2019-06-1810:55:10【问题描述】:我在Azure门户上部署了一个Web机器人应用程序。... 查看详情

两种开源聊天机器人的性能测试——基于tensorflow的chatbot

...t-retrieval/      它实现一个检索式的机器人。采用检索式架构,有预定好的语料答复库。检索式模型的输入是上下文潜在的答复。模型输出对这 查看详情

在查找“aiohttp.web”的模块规范时发出 azure 测试聊天机器人“错误(ModuleNotFoundError:没有名为“aiohttp”的模块)

】在查找“aiohttp.web”的模块规范时发出azure测试聊天机器人“错误(ModuleNotFoundError:没有名为“aiohttp”的模块)【英文标题】:Issueazuretestchatbot"Errorwhilefindingmodulespecificationfor\'aiohttp.web\'(ModuleNotFoundError:Nomodulenamed\'aiohttp\')... 查看详情

综述|检索式聊天机器人技术

...联网上对话语料的不断积累,闲聊导向对话系统(简称聊天机器人)取得了令人瞩目的进展,受到了学术界的广泛关注,并在产业界进行了初步的尝试。当前,聊天机器人分为检索式聊天机器人和生成式聊天机器人,而检索式聊天机器人... 查看详情

无法在 Azure 中发布聊天机器人。单击“直线通道”按钮后,出现错误

】无法在Azure中发布聊天机器人。单击“直线通道”按钮后,出现错误【英文标题】:CannotpublishchatbotinAzure.Afterclick"DirectlineChannel"button,errorisoccurred【发布时间】:2020-06-2807:31:22【问题描述】:我在Azure上制作了一个聊天机... 查看详情

Skype For Business Server 2019 - 将聊天机器人与服务器 2019 集成的更好方法

】SkypeForBusinessServer2019-将聊天机器人与服务器2019集成的更好方法【英文标题】:SkypeForBusinessServer2019-BetterwaytoIntegratetheChatBotswithserver2019【发布时间】:2021-12-1512:08:21【问题描述】:我正在尝试将聊天机器人服务与使用SkypeForBusine... 查看详情

java示例代码_Junit,如何禁用创建每个测试方法的新测试实例

java示例代码_Junit,如何禁用创建每个测试方法的新测试实例 查看详情

聊天机器人文本分词(代码片段)

【ChatBot】文本分词1.准备词典和停用词1.1准备词典1.2准备停用词2.准备按照单个字切分句子的方法3.完成分词方法的封装1.准备词典和停用词1.1准备词典1.2准备停用词stopwords=set([i.strip()foriinopen(config.stopwords_path).readlines()])2.准备... 查看详情

如何从聊天机器人向客户发送聊天消息?

】如何从聊天机器人向客户发送聊天消息?【英文标题】:Howdoesonesendchatmessagefromchatbottoclients?【发布时间】:2012-07-1011:17:48【问题描述】:我制作了一个机器人,它可以在客户端发送消息时回复。我想向客户发送消息,而他们... 查看详情

【5g消息】啥是chatbot?

chatbot聊天机器人聊天机器人(Chatterbot)是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。聊天机器人可用于实用的目的,如客户服务或资讯获取。参考技术Achatbot是面向行业客户开放的一种5g消息的... 查看详情

自己动手写个聊天机器人吧

...源于Sirajology的视频BuildaChatbot昨天写LSTM的时候提到了聊天机器人,今天放松一下,来看看chatrobot是如何实现的。前天和一个小伙伴聊,如果一个机器人知道在它通过图灵测试后可能会被限制,那它假装自己不能通过然后逃过一劫... 查看详情

facebook 聊天机器人中响应文本的富文本格式

】facebook聊天机器人中响应文本的富文本格式【英文标题】:Richtextformatforresponsetextinfacebookchatbot【发布时间】:2017-04-0520:43:40【问题描述】:我想格式化(更改字体大小/文本颜色/应用文本样式-粗体/下划线/斜体等)在Facebook聊... 查看详情

自动聊天机器人项目班[一门课搞定聊天机器人]

打造传统NLP聊天机器人第1课聊天机器人的基础模型与综述知识点1:行业与业界综述实战项目:最简单的Rule-Base聊天机器人第2课NLP基础及扫盲知识点1:NLP基本算法实战项目:经典NLP问题与解法第3课用基础机器学习方法制作聊天... 查看详情

基于perfect用swift语言编写slack聊天机器人

基于Perfect用Swift语言编写Slack聊天机器人本项目是专门为Slack聊天机器人定制的模板服务器。完整的源代码下载在Githubhttps://github.com/PerfectServers/SlackBot在本项目模板中,一个聊天机器人可以加入授权频道,读取频道内所有用户发... 查看详情

使用chatterbot库制作一个聊天机器人

...杂烩我们学习一些如何使用ChatterBot库在Python中创建聊天机器人,该库实现了各种机器学习算法来生成响应对话,还是挺不错的1什么是聊天机器人聊天机器人也称为聊天机器人、机器人、人工代理等,基本上是由人工... 查看详情

如何获取网络聊天机器人密钥?

】如何获取网络聊天机器人密钥?【英文标题】:Howtogetthewebchatbotsecretkeys?【发布时间】:2018-12-1716:21:30【问题描述】:通过以下网址,我找到了一种提取网络聊天机器人密钥的方法:https&colon;//dev.botframework.com/api/bots/bot_id/cha... 查看详情

chatgpt-聊天机器人

第3章ChatGPT-聊天机器人3.1聊天机器人的定义与发展聊天机器人是一种基于人工智能技术的智能对话系统,旨在模仿人类的对话方式与用户进行交互。聊天机器人可以通过自然语言处理技术和机器学习算法分析用户的输入,理解用... 查看详情