Тестирование производительности приложений веб-браузера, предоставляющих услуги веб-конференций (WebRTC), например удаленных экзаменов, проверок веб-камеры или веб-инструментов для онлайн-видеоконференций, может быть сложным.
Например, вы можете проверить, как ведет себя ваша система, когда более 100 участников подключены к вашей онлайн-платформе видеоконференций и разговаривают и транслируют одновременно. Хотя ручное тестирование может быть вариантом для случайных проверок или небольших нагрузочных тестов, трудно охватить все сценарии и реализовать непрерывный мониторинг и нагрузочное тестирование, когда у вас ограниченное количество тестировщиков и оборудования. Чтобы облегчить эту задачу, Dotcom-Monitor представляет новую функцию эмуляции веб-камеры и микрофона, которая позволяет проводить нагрузочное тестирование и мониторинг веб-конференций в окне браузера для получения наиболее реалистичных результатов тестирования.
Пожалуйста, ознакомьтесь с нашей статьей в блоге Объяснение нагрузочного тестирования WebRTC , чтобы узнать больше о WebRTC и наиболее эффективных подходах к нагрузочному тестированию и мониторингу с помощью WebRTC.
В этой статье мы узнаем, как добавить функцию эмуляции потокового аудио и видео в тестовый скрипт с помощью EveryStep Scripting Tool Desktop от Dotcom-Monitor.
Как это работает
В двух словах, Dotcom-Monitor эмулирует видео- и аудиопотоки в браузере каждый раз, когда целевое веб-приложение запрашивает доступ к веб-камере и микрофону на устройстве конечного пользователя. Для этого мы запускаем предварительно записанную последовательность пользовательских транзакций в браузере Chrome и используем пользовательские аудио/ видео файлы для передачи предварительно записанных носителей.
Dotcom-Monitor не имеет локально доступного хранилища. Перед выполнением шага потоковой передачи мультимедиа необходимо доставить файлы мультимедиа в сценарий из общедоступного хранилища файлов в Интернете. Dotcom-Monitor будет загружать файл с предоставленного URL-адреса в нашу систему каждый раз при выполнении скрипта и воспроизводить его в окне браузера для эмуляции оборудования для захвата видео и аудио.
Если у вас нет особых требований к тестированию файлов мультимедиа, мы рекомендуем использовать тестовые файлы, которые вы можете загрузить непосредственно в сценарий из хранилища CDN Dotcom-Monitor:
Аудио файл | Нагрузочное тестирование видеофайлов | Мониторинг видеофайлов | |
10 сек | – | – | 10с.и4м |
30 сек | 30sec.wav | 30с.y4м | – |
1 мин. | 1min.wav | 1мин.y4м | – |
Поддерживаемые форматы файлов и ограничения на размер
Максимальный размер медиафайла составляет 20 МБ для скриптов веб-мониторинга и 150 МБ для скриптов нагрузочного тестирования.
В настоящее время мы поддерживаем следующие форматы файлов мультимедиа для тестирования.
Для видеофайлов:
YUV4MPEG2 (a.k.a. Y4M)
Более подробную информацию о формате файла можно найти здесь: http://wiki.multimedia.cx/index.php?title=YUV4MPEG2
Для аудио файлов:
WAV
Пошаговое руководство по сценарию записи
Сначала загрузите настольную версию инструмента сценариев EveryStep. Пожалуйста, посмотрите, как установить и использовать инструмент в статье Использование рабочего стола scripting Tool EveryStep нашей вики.
В настольной версии EveryStep Recorder запишите навигацию в целевое приложение для веб-конференций и запустите сеанс потоковой передачи мультимедиа (например, нажмите кнопку Запустить видео или Разрешить доступ к веб-камере). Затем сохраните скрипт.
Чтобы добавить шаги эмуляции потока мультимедиа, добавьте следующие методы перед строками навигации веб-приложения:
tab0.Download (string wavFileName, string wavFileURL); tab0.Download (string y4mFfileName, string y4mFileURL); UseFileForFakeMediaCapture (MediaType.Camera, string y4mFileName); UseFileForFakeMediaCapture (MediaType.Microphone, string wavfileName);
Чтобы зарезервировать дополнительное время для шага потоковой передачи мультимедиа, добавьте строку задержки в конце шага потоковой передачи мультимедиа.
Ниже приведен пример сценария.
// script_version=3.0; everystep_version=4.0.8370.4032; date=4/23/2023; Chrome=104.0.5112.57; Use System Credentials Tabs.SetSize (1768, 876); DMBrowser tab0 = null; Step (1, "Webcam Test - Check Your Camera With Our Online Tool - https://www.onlinemictest.com/webcam-test/"); tab0 = Tabs.NewTab (); //Download a test audio file tab0.Download ("30sec.wav", "https://d149yd38g6ldk.cloudfront.net/30sec.wav"); //Download a test video file tab0.Download ("WebCam30s.y4m", "https://d149yd38g6ldk.cloudfront.net/WebCam30s.y4m"); //Emulate a webcam video stream and mic audio UseFileForFakeMediaCapture (MediaType.Camera, "WebCam30s.y4m"); UseFileForFakeMediaCapture (MediaType.Microphone, "30sec.wav"); tab0.GoTo ("https://www.onlinemictest.com/webcam-test/"); //Click a button to allow access to webcam tab0.Div ("//DIV[@ID=\"webcam-start\"]", "//DIV[@ID=\"fullscreen_close\"]/following-sibling::DIV[1]", "//DIV[@ID=\"fullscreen_open\"]/following-sibling::DIV[2]").Click (); Delay ("10sec".ToDuration ());