Twilio - VMWare 上的自动化测试

Twilio - Automated testing on VMWare

我们正在开发基于 Twilio 的 Web 应用程序(AngularJS 和 Microsoft WebAPI),并已使用 SpecFlow、Selenium Webdriver 和 Chromedriver 组装了许多自动化测试。我们使用 Programmable Voice 组件拨打电话,自动测试拨打测试号码。在开发人员机器上的所有测试 运行 都很好,但是当部署在 Windows 2012R2 Datacenter 虚拟机 运行ning 在 VMWare VSphere/ESXi 6 主机上时,它们会失败,因为 Chromedriver 找不到记录设备因此不会与 Twilio 建立 WebRTC 连接。我们使用的主机没有声卡,因此没有显示 VM 可用的音频设备。我相信我们可以将 USB 声卡添加到主机并与一个 VM 共享,但这是一个笨拙的解决方案,使 VMWare DRS 有点无用,我们有几个 VM,我们希望 运行 这些测试在。我希望我不是第一个尝试使用 Twilio 进行自动化测试的人,所以一直在寻找其他人如何在 virtual/cloud 环境中实现它?我已经向 Twilio 提出了一个支持案例,但他们没有想法。

Devin Rader 提供了答案。 blog.andyet.com/2014/09/29/testing-webrtc-applications 解释了如何添加一个开关到 Chrome (--use-fake-device-for-media-stream) 来伪造一个麦克风,这意味着你可以制作一个 WebRTC Chrome 中没有麦克风设备的连接。还有一个适用于 Firefox 的开关,我认为它可以工作,但我还没有尝试过。该开关也适用于 Chrome 驱动程序,我已经成功地 运行 在没有声卡的 Windows 2012R2 服务器虚拟机上使用 Chrome 驱动程序进行了 Selenium 测试。谢谢德文。