在单元测试中自动允许WebRTC权限

时间:2013-09-26 23:01:19

标签: javascript html5 unit-testing jasmine webrtc

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

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

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

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

2 个答案:

答案 0 :(得分:6)

好问题。

编辑:借助Chrome的#use-fake-ui-for-media-stream标记,所有gUM调用都将被自动接受,并且不会弹出任何用户界面。 < / p>

我认为有一些关于浏览器标记的讨论意味着永远不需要通过用户界面进行权限确认,但据我所知,这并未在任何浏览器中实现。 (我可以想象潜在的安全问题。)

一些建议(鉴于你正在编写一个图书馆,而不是一个应用程序......这可能会对你起作用)

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

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

答案 1 :(得分:1)

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