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

标签 javascript html unit-testing jasmine webrtc

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

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

有没有我可以更改的标志或设置以始终允许全局媒体访问,这样我的测试套件就不会提示权限?

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

最佳答案

好问题。

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

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

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

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

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

关于javascript - 在单元测试中自动允许 WebRTC 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19040090/

相关文章:

html - div 中的居中按钮未正确排列

java - 测试包装类

javascript - React Prop 在重新渲染时变得未定义

javascript - 在 JavaScript 中使用 Browser.execute 的方法使用参数

php - 有哪些框架/工具/技术可以帮助从 PHP 运行 javascript?

java - Spring 模拟 MVC 单元测试和 Controller 建议

c++ - 编写可测试代码 - lambda 函数和 unique_ptr 中的 basic_istream 工厂

javascript - 按钮验证 - Angular 2 Reactive 表单

javascript - Polymer 1.0 路由解决方案?

css - 如何水平并排放置两个div?