对于我使用剧作家的自动化测试,我的浏览器需要具有摄像头和麦克风权限。我可以为 chromium 浏览器授予它,但无法为 Firefox 和 safari (webkit) 授予它。
下面是我尝试过的一段代码。
对于 Safari:
const browser = await webkit.launch({
headless: config.headless,
args: ['--use-fake-device-for-media-stream']
})
对于火狐浏览器:
var browser = await firefox.launch({
headless: config.headless,
args: [
'--use-fake-device-for-media-stream',
'--use-fake-ui-for-media-stream'
],
firefoxUserPrefs: {
'permissions.default.microphone': 1,
'permissions.default.camera': 1
}
});
我能够使用 chromium 授予权限
context.grantPermissions(['camera', 'microphone'])
并且测试运行成功。但这似乎不适用于 Safari 和 Firefox 浏览器。
目前不可能:
webkit 尚不支持麦克风和摄像头权限
来源:https://github.com/microsoft/playwright/issues/11714
Firefox 确实不支持麦克风权限。