如何处理剧作家中的铬麦克风权限弹出窗口?

Tob*_*olb 5 python e2e-testing playwright

我正在尝试做什么

测试需要剧作家访问麦克风的网站

问题

有问题的弹出窗口出现,并且似乎忽略了所谓的授予的权限。可以手动授予权限,但这似乎违背了自动化的精神。

在此输入图像描述

我尝试过的

with sync_playwright() as p:

    browser = p.chromium.launch(headless=False)
    context = browser.new_context(permissions=['microphone'])
...
Run Code Online (Sandbox Code Playgroud)

由于某种原因,通过上下文授予权限不起作用。权限弹出窗口仍然出现。

我还尝试使用剧作家录制脚本录制演练,但它没有录制授予麦克风权限。

小智 5

您缺少一些告诉 chrome 模拟麦克风的命令行标志。尝试一下这个示例。

from playwright.sync_api import sync_playwright


def run(playwright):
    chromium = playwright.chromium
    browser = chromium.launch(headless=False, args=['--use-fake-device-for-media-stream', '--use-fake-ui-for-media-stream'])
    context = browser.new_context()
    context.grant_permissions(permissions=['microphone'])
    page = context.new_page()
    page.goto("https://permission.site/")
    page.click('#microphone')
    page.pause()
    # other actions...
    browser.close()


with sync_playwright() as playwright:
    run(playwright)
Run Code Online (Sandbox Code Playgroud)

  • 如果有人想通过假麦克风播放音频文件:将 `--use-file-for-fake-audio-capture=audio.wav` 添加到参数列表中 (2认同)