тестирование с использованием селена: chrome screenharing автоматически выбирает вкладку и делится со звуком

Я тестирую свой сайт с помощью Selenium и могу открыть Chrome с помощью --auto-select-desktop-capture-source="tab_name"и выберите вкладку, когда включен общий доступ к экрану. Теперь я хочу, чтобы звук, воспроизводимый на вкладке, был в моем потоке вместе с видео. При выполнении этого вручную есть флажок, который разрешает обмен аудио, но есть ли что-то, что может помочь включить его из Selenium?

Вот скрипка: https://jsfiddle.net/john_vera/yr2k9xob/5/ Обратите внимание на флажок "Поделиться аудио" после выбора вкладки Chrome в диалоговом окне. Я хочу проверить это из Selenium.

1 ответ

Вы можете создать собственную сборку хрома и реализовать обход этого диалога. Чтобы построить хром, вы можете использовать эти инструкции (для Windows): Здесь

Вот обход в файле display_media_access_handler.cc:

Ищите эту строку:

// Orignal code
pending_request.picker->Show(picker_params, std::move(source_lists), std::move(done_callback));

И замените его этим

// Bypass dialog
content::DesktopMediaID screenSource(content::DesktopMediaID::TYPE_SCREEN, content::DesktopMediaID::kNullId, web_contents);
screenSource.audio_share = true;

OnPickerDialogResults(web_contents, screenSource);
// End of bypass

Я тестировал это с помощью Chromium Version 84.

Другие вопросы по тегам