使用虚拟 Alexa 设备进行持续集成?
Posted
技术标签:
【中文标题】使用虚拟 Alexa 设备进行持续集成?【英文标题】:Continuous Integration using a virtual Alexa device? 【发布时间】:2019-12-29 23:25:26 【问题描述】:是否有人成功地创建了自己的虚拟 Alexa 设备以进行持续测试?
我过去使用过 bespoken.io,但我的试用期已过期,因此我开始考虑创建自己的服务,因为我可以自己托管服务或在本地通过 CLI 运行它。
我的意图是每隔几个小时运行一次我的技能,并根据返回的响应执行一系列交互,这是为了确保技能响应、行为符合预期并且及时执行,所以我'想知道您正在使用的任何可以处理发送和接收交互的库以及您的优缺点。
【问题讨论】:
【参考方案1】:虽然它可能不像定制那样全包,但您可以通过技能管理 API 来利用他们在框架中使用的相同 API。具体来说,simulate
命令可以从虚拟机上的ASK CLI 实例运行,或者如果您愿意设置一个简单的服务来获取新的访问令牌并调用 REST API,则可以无服务器运行。
【讨论】:
这正是我现在所做的。在进一步阅读 ASK 文档后,使用dialog
命令允许通过重播文件进行基本的来回对话。我能够解析输出以检测异常并通过代码做出相应的反应。【参考方案2】:
作为定制的替代方案,您应该看看 Botium - 它为聊天机器人提供测试自动化,并且免费提供 on Github。
为了测试 Alexa 技能,有两个专用的 Alex/Botium 连接器可用(所有其他相关的聊天机器人技术,如 Azure Bot Framework、Dialogflow、IBM Watson 等are also supported and available on Github):
用于 Alexa SMAPI 的 Botium 连接器
这个使用 Alexa Skills Management API 自动向您的 Alexa Skill 发送文本和/或 JSON 请求并执行响应断言。您也可以使用它来测试您的技能的对话流。有关设置和使用说明,请参阅 Github repository。
用于 Alexa 虚拟设备的 Botium 连接器
此连接器使用free and Open Source Text-To-Speech and Speech-To-Text server "Botium Speech Processing" 对虚拟 Alexa 设备运行自动化测试,该设备通常连接到您正在测试的 Alexa 技能。有关设置和使用说明,请参阅 Github repository。
*所有这些组件都是免费和开源的,并且可以在 Github 上找到,包括一个命令行工具 Botium CLI 和一个名为 Botium Bindings 的用于与 Mocha、Jest 或 Jasmine 一起使用的扩展。
【讨论】:
以上是关于使用虚拟 Alexa 设备进行持续集成?的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示
CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示
CentOS7/8系统下,使用Jenkins实现SpringBoot+Vue前后端分离项目持续集成,一键编译打包跨设备部署,完整详细教学演示