我正在为使用 WebRTC 的库编写单元测试。
我的测试套件几乎每个单元测试都需要 Chrome 的许可,这需要我为每个测试手动点击“允许”按钮。
有没有我可以更改的标志或设置以始终允许全局媒体访问,这样我的测试套件就不会提示权限?
我在 Chrome 中使用 Jasmine 测试运行器。
最佳答案
好问题。
编辑:使用 Chrome 的 --use-fake-ui-for-media-stream 标志,所有 gUM 调用都将被自动接受,并且永远不会弹出任何 UI。
我相信有一些关于浏览器标志的讨论,这意味着永远不需要通过 UI 进行权限确认,但据我所知,这还没有在任何浏览器中实现。 (我可以想象潜在的安全问题。)
一些建议(这可能对你不起作用,因为你正在编写一个库,而不是一个应用程序......)
您能从 Chrome 应用运行测试吗?如果您使用 audioCapture/videoCapture 权限,则仅在应用安装时请求一次权限,而不是每次 session 都请求权限。
为调用 getUserMedia() 的页面使用 HTTPS。这意味着该域仅请求一次权限,即第一次调用 gUM 时。
关于javascript - 在单元测试中自动允许 WebRTC 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19040090/