使用虚拟 Alexa 设备进行持续集成?

Continuous Integration using a virtual Alexa device?

有没有人为了持续测试而成功创建了自己的虚拟 Alexa 设备?

我过去使用过 bespoken.io,但是我的试用期已经过期,所以我开始考虑创建自己的服务,因为我可以自己托管服务或 运行它在本地关闭 CLI。

我的意图是每隔几个小时 运行 我的技能,并根据返回的响应执行一系列交互,这是为了确保该技能具有响应性,表现符合预期,并且如果执行及时的方式,所以我想知道您正在使用的任何可以处理发送和接收交互的库以及您拥有的优缺点。

虽然它可能不像定制那样交钥匙,但您可以通过技能管理 API 利用他们在其框架中使用的相同 API。具体来说,simulate 命令可以是 运行 来自 ASK CLI on a virtual machine, or serverless if you are willing to set up a simple service to fetch new access tokens and call the REST API.

的实例

作为 bespoken 的替代品,您应该看看 Botium - it provides test automation for chatbots, and it is available for free on Github

为了测试 Alexa 技能,有两个可用的专用 Alex/Botium 连接器(所有其他相关聊天机器人技术,如 Azure Bot Framework、Dialogflow、IBM Watson 等 are also supported and available on Github):

Alexa SM 的 Botium 连接器API

这个正在使用 Alexa Skills Management API 自动向您的 Alexa Skill 发送文本 and/or JSON 请求并进行响应断言。您也可以使用它来测试 Skill 的会话流程。有关设置和使用说明,请参阅 Github repository

用于 Alexa 虚拟设备的 Botium 连接器

此连接器正在使用 free and Open Source Text-To-Speech and Speech-To-Text server "Botium Speech Processing" to run automated tests against a virtual Alexa device, usually connected to your Alexa skill under Test. See Github repository 设置和使用说明。

*所有这些组件都是免费和开源的,可在 Github 上获得,包括命令行工具 Botium CLI and an extension to use it with Mocha, Jest or Jasmine called Botium Bindings