тестирование с использованием селена: 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.