Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как с помощью Selenium эмулировать запись на микрофон?

java
webdriver
Теги: #<Tag:0x00007f7b64ce82b8> #<Tag:0x00007f7b64ce8150>

(Sergey Obruch) #1

Добрый вечер!

Передо мной стала следующая задача - необходимо написать тестовый сценарий, который бы нажимал на клавишу Record, записывал некий текст на микрофон и сохранял запись. Вот собственно ищу совета каким образом лучше осуществить эту эмуляцию микрофона и как после проверить аудиофайл.

Буду признателен за любую помощь или хотя бы вектор в какую сторону копать. Можно ли этот скрипт выполнить средствами селениума или же может есть какая другая тулзовина для тестирования подобных штуковин?


(Ray Romanov) #2

Если проблема именно в аудио потоке и машина виндовая то посмотри в сторону virtual audio cabel.
В любом проигрывателе настраиваешь како-нить радио а в аудиокабеле перенаправляешь на микрофон. Все остальное уже по тесту.


(Sergey Obruch) #3

Решил вопрос с помощью установки след опций в профайл хрома:
“–use-fake-ui-for-media-stream”
“–disable-user-media-security”
“–allow-running-insecure-content”
“–use-fake-device-for-media-stream”

Спасибо за совет, тему можно закрыть


(Stan) #4

Не совсем понятно как вы решили эту проблему. Изначальный вопрос был про эмуляцию. Какой окончательный ответ? Чем вы эмулируете? Что дают опции? Что без них не работало?


#5

Присоденяюся, хотелося бы узнать подробней)


(Sergey Obruch) #6

Нашёл вот такую вот статью, которая и помогла:
https://blog.andyet.com/2014/09/29/testing-webrtc-applications
To get around all that manual testing, we want to run these tests on servers and machines that don’t have any webcams and microphones attached. Fortunately, this is pretty easy to achieve because the browser manufacturers provide special ways to simulate webcams and microphones for testing purposes. In Chrome, this is done by adding --use-fake-device-for-media-stream as a command line argument when starting the browser.