如何在browserStack功能中将伪造的媒体流传递给Safari IOS?

时间:2018-10-17 14:35:10

标签: selenium protractor e2e-testing getusermedia browserstack

我正在将量角器浏览器堆栈结合使用,并试图使webrtc Web应用程序自动化,我需要摆脱浏览器询问以获得许可并使用伪造的视频流代替chrome中可用的真实摄像头和麦克风。

我尝试使用这些选项都无法使用。

选项1:

    var capabilities = {
    'browserName': 'iPhone',
    'device': 'iPhone 6S',
    'realMobile': 'true',
    'os_version': '11.4',
    "media.navigator.permission.disabled": true,
    "media.navigator.streams.fake": true
  };

选项2

    var capabilities = {
    'browserName': 'iPhone',
    'device': 'iPhone 6S',
    'realMobile': 'true',
    'os_version': '11.4',
    'safariOptions': {
      'args': ["--use-fake-ui-for-media-stream", '--use-fake-device-for-media-stream']
    }
  };

对于构建选项,我使用:

var driver = new webdriver.Builder()
usingServer('http://hub-cloud.browserstack.com/wd/hub').
withCapabilities(capabilities).
build();

1 个答案:

答案 0 :(得分:1)

当前,没有这种特定于BrowserStack的自定义功能可以在Safari上传递假媒体流。此外,Safari浏览器尚不支持传递假流。您可以阅读以下问题:

https://github.com/web-platform-tests/results-collection/issues/125

https://github.com/web-platform-tests/wpt/issues/7424

此外,Safari浏览器似乎不支持此类参数。我在示例SafariOptions示例here

中进行了评论