我们正在尝试使用 Twilio 为这些 IVR 创建一个自动化测试框架。
我们从 Twilio 向 IVR 进行出站呼叫,使用动词 Say/Play 与 IVR 交互,我们使用记录来捕获 IVR 在说什么,然后我们转录它并做出断言。
当我要求Twilio拨打电话号码并假装是IVR时,一切都很完美。但是当我要求 Twilio 调用真正的 IVR 时,显然 Record 动词无法识别停顿,当 IVR 停止说话并等待一些输入时。
我们尝试调整超时属性,但没有运气,它会记录所有内容,只有当 IVR 结束通话时,Twilio 才会给我整个录音的回调。我们希望与IVR的每次交互都包含在单独的音频中,就像我假装时一样。
下面是带有记录谓词的 TwiML 示例:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Record action="http://foo/nextStep"
method="POST"
playBeep="false"
recordingStatusCallback="http://foo/recordStatus"
timeout="2"
transcribe="false"
trim="do-not-trim" />
</Response>
Twilio开发者布道者在这里。
与其为此使用<Record>
,我建议使用 <Gather input="speech">
.使用 <Gather>
进行语音输入的目的是对输入做出反应以构建支持语音的 IVR,但我只能想象它在这个测试场景中也会更好地工作。它将为您实时转录结果,而不是为您返回录音。
让我知道这是否有帮助。