如何使用功能允许 BrowserStack 中的麦克风

How to allow microphone in BrowserStack using capabilities

我正在尝试使用 BrowserStack 测试 WebRTC 应用程序以检查不同浏览器的行为。我有一个在本地机器上运行的 selenium 脚本,我还实现了 BroswerStack 项目 https://github.com/browserstack/testng-browserstack,包括我的 selenium 脚本。

情况是在BrowserStack执行的那一刻,脚本卡在了allow microphone部分。

我曾尝试以这种方式将此参数 "use-fake-ui-for-media-stream" 作为功能的一部分传递:

"chrome": {
      "os": "Windows",
      "os_version": "8",
      "browser": "Chrome",
      "browser_version": "70.0",
      "resolution": "1920x1080",
      "args":["use-fake-ui-for-media-stream"]
}

由于我使用的是特定的驱动程序,我过去在本地脚本中传递参数的方式有所不同。示例:

ChromeOptions ops = new ChromeOptions();
ops.addArguments("use-fake-ui-for-media-stream");
WebDriver driver = new ChromeDriver(ops);

也许问题与我实例化 BroserStack 使用的远程 Web 驱动程序的方式有关

driver = new RemoteWebDriver(
                new URL("http://" + username + ":" + accessKey + "@" + config.get("server") + "/wd/hub"), capabilities);

我的伙伴给了我答案。参数的正确配置方式是:

"chrome": {
      "os": "Windows",
      "os_version": "8",
      "browser": "Chrome",
      "browser_version": "70.0",
      "resolution": "1920x1080",
      "chromeOptions": {"args":["use-fake-ui-for-media-stream"]}