0

就我而言,我需要模拟相机才能在铬上使用它。

我已经尝试过这样的命令:

chrome.exe --use-fake-ui-for-media-stream --disable-web-security --use-fake-device-for-media-stream --use-file-for-fake-video-capture="C:\Users\user\Desktop\test\bridge_far_cif.y4m" --allow-file-access

它工作正常。但是当我将它添加到我的 codecept.conf.js 时,它没有。我仍然收到错误“无法访问相机”。我在配置文件中做错了什么?

exports.config = {
  tests: './*_test.js',
  output: './output',
  helpers: {
    Puppeteer: {
      url: 'https://url/',
      fullPageScreenshots: true,
         chrome: {
            args: ['--use-fake-ui-for-media-stream',
            '--disable-web-security',
            '--use-fake-device-for-media-stream',
            '--use-file-for-fake-video-capture="C:\Users\user\Desktop\test\bridge_far_cif.y4m"',
            '--allow-file-access',
            '--allow-running-insecure-content',
            ]
        }
    }
  },
  include: {
    I: './steps_file.js'
  },
  bootstrap: null,
  mocha: {},
  name: 'test',
  translation: 'ru-RU'
}
4

1 回答 1

1

答案是https://nodejs.org/api/path.html

在 Windows 上:

path.basename('C:\\temp\\myfile.html'); // 返回:'myfile.html'

需要像这样编辑开始选项:

'--use-file-for-fake-video-capture="C:\\Users\\user\\Desktop\\test\\bridge_far_cif.y4m"'

更好的方法是使用 path.join 方法。codecept.conf.js 应该如下所示:

const path = require('path');
var fakeVideoFileName = 'fileName.y4m';
var pathToFakeVideoFile =  path.join(__dirname, fakeVideoFileName);
exports.config = {
  tests: './*_test.js',
  output: './output',
  helpers: {
    Puppeteer: {
      url: 'https://url/',
      fullPageScreenshots: true,
         chrome: {
            args: ['--use-fake-ui-for-media-stream',
            '--disable-web-security',
            '--use-fake-device-for-media-stream',
            '--use-file-for-fake-video-capture=' + pathToFakeVideoFile,
            '--allow-file-access-from-files',
            '--allow-running-insecure-content'
            ]
        }
    }
  },
  include: {
    I: './steps_file.js'
  },

  bootstrap: null,
  mocha: {},
  name: 'test',
  translation: 'ru-RU'
}

使用这种方式,您的脚本将始终在任何平台上运行。注意:我的示例中的视频文件放在项目根目录中。

于 2019-03-01T11:11:45.520 回答