我正在使用NightWatch.js来构建e2e测试.

我的一项测试要求授予Chrome浏览器的麦克风权限. 当我运行此测试时,我会收到来自Chrome浏览器的权限通知,并且我必须手动允许它.我想自动执行此操作.

有没有方法可以使用NightWatch.js脚本单击此通知上的允许按钮或直接将允许的麦克风权限设置为nightwatch.conf.js

microphone permission notification

推荐答案

我将--use-fake-device-for-media-stream--use-fake-ui-for-media-stream添加到nightwatch.conf.js中,它起作用了.

这允许测试期间在后台获得麦克风许可.

这是修改后的nightwatch.conf.js.

module.exports = {
    src_folders: ["tests"], // replace with your test folder
    
    webdriver: {
      start_process: true,
      port: 4444,
      server_path: require('chromedriver').path,
      cli_args: []
    },
    
    test_settings: {
      default: {
        launch_url: 'https://nightwatchjs.org',
        desiredCapabilities : {
          browserName : 'chrome',
          'goog:chromeOptions' : {
            w3c: true,
            args: [
              ...
              '--use-fake-device-for-media-stream',
              '--use-fake-ui-for-media-stream'
              ...
            ]
          }
        }
      }
    }
  };

Javascript相关问答推荐

想要检测字符串中的所有单词

Fastify错误:CORS策略已阻止从起源api-dev.example.com上的MLhttp请求

JavaScript:循环访问不断变化的数组中的元素

Mongodb拥有5亿个文档,我想根据JavaScript驱动程序中的两个字段使用regEx进行搜索,而不是模式

如何使用Paged.js仅渲染特定页面

在JS中获取名字和姓氏的首字母

JavaScript文本区域阻止KeyDown/KeyUp事件本身上的Alt GR +键组合

我在这个黑暗模式按钮上做错了什么?

如何解决CORS政策的问题

为什么Mutations 观察器用微任务队列而不是macrotask队列处理?

加载背景图像时同步旋转不显示的问题

优化Google Sheet脚本以将下拉菜单和公式添加到多行

如何在每次单击按钮时重新加载HighChart/设置HighChart动画?

ChartJs未呈现

如何 for each 输入动态设置输入变更值

将对象推送到数组会导致复制

Cherrio JS返回父div的所有图像SRC

顶点图使用组标签更新列之间的条宽

如何在Jest中模拟函数

P5play SecurityError:无法从';窗口';读取命名属性';Add';:阻止具有源的帧访问跨源帧