6

我正在为使用 WebRTC 的库编写单元测试。

我的测试套件几乎每个单元测试都需要 Chrome 的权限,这需要我手动单击每个测试的“允许”按钮。

是否有一个标志或设置我可以更改为始终允许全局媒体访问,以便不会提示我的测试套件提供权限?

我在 Chrome 中使用 Jasmine 测试运行器。

4

2 回答 2

7

好问题。

编辑:使用 Chrome 的 --use-fake-ui-for-media-stream 标志,所有 gUM 调用都将被自动接受,并且不会弹出任何 UI。

我相信有一些关于浏览器标志的讨论,这意味着永远不需要通过 UI 进行权限确认,但据我所知,这还没有在任何浏览器中实现。(我可以想象潜在的安全问题。)

几个建议(可能对你不起作用,因为你正在编写一个库,而不是一个应用程序......)

  1. 您可以从 Chrome 应用程序运行测试吗?如果您使用 audioCapture/videoCapture 权限,则仅在应用安装时请求一次权限,而不是每次会话。

  2. 对调用 getUserMedia() 的页面使用 HTTPS。这意味着该域只请求一次权限,即第一次调用 gUM。

于 2013-09-27T14:39:05.227 回答
1

Chromium 尊重您对这两个选项的兴趣的政策列表: VideoCaptureAllowedVideoCaptureAllowedUrls。此选项对我DefaultMediaStreamSetting也很有用,但现在已弃用(我将其设置为 1)。如何设置 - 它仅取决于您的操作系统。看看LinuxMac OS XWindows

于 2013-09-26T23:13:00.497 回答