就我而言,我需要模拟相机才能在铬上使用它。
我已经尝试过这样的命令:
base64
,效果很好。但是,当我将其添加到我的codecept.conf.js时,它不是。我仍然收到错误消息“无法访问摄像机”。 我在配置文件中做错了什么?
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
答案 0 :(得分: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'
}
使用这种方式,您的脚本将始终在任何平台上运行。注意:在我的示例中,视频文件位于根项目目录中。