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

Ric*_*ick 6 javascript html5 unit-testing jasmine webrtc

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

我的测试套件需要Chrome的权限几乎每个单元测试,这要求我手动点击每个测试的"允许"按钮.

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

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

Sam*_*ton 7

好问题.

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

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

一些建议(考虑到你正在编写一个库,而不是一个应用程序,这可能对你不起作用)

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

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