Las pruebas de rendimiento de las aplicaciones de explorador web que proporcionan servicios de conferencia web (WebRTC), por ejemplo, exámenes remotos, comprobaciones de cámara web o herramientas web de videoconferencia en línea, pueden ser complejas.

Por ejemplo, es posible que desee comprobar cómo se comporta su sistema cuando más de 100 participantes están conectados a su plataforma de videoconferencia en línea y hablando y transmitiendo al mismo tiempo. Si bien las pruebas manuales pueden ser una opción para comprobaciones ocasionales o pequeñas pruebas de carga, es difícil cubrir todos los escenarios e implementar la supervisión continua y las pruebas de carga cuando se tiene un número limitado de probadores y hardware. Para facilitar esta tarea, Dotcom-Monitor presenta una nueva función de emulación de cámara web y micrófono que permite pruebas de carga y monitoreo de conferencias web en una ventana del navegador para ofrecer los resultados de prueba más realistas.

Visite nuestra publicación de blog Explicación de las pruebas de carga de WebRTC para obtener más información sobre WebRTC y los enfoques más efectivos para las pruebas de carga y el monitoreo con WebRTC.

En este artículo, aprenderemos cómo agregar la función de emulación de transmisión de audio y video a un script de prueba con EveryStep Scripting Tool Desktop de Dotcom-Monitor.

Cómo funciona

En pocas palabras, Dotcom-Monitor emula secuencias de video y audio en un navegador, cada vez que una aplicación web de destino solicita acceso a una cámara web y un micrófono en un dispositivo de usuario final. Para hacer esto, ejecutamos una secuencia pregrabada de transacciones de usuario en el navegador Chrome y usamos archivos de audio / video personalizados para pasar los medios pregrabados.

Dotcom-Monitor no tiene almacenamiento disponible localmente. Antes de ejecutar el paso de transmisión de medios, debe entregar los archivos multimedia al script desde un almacenamiento de archivos disponible públicamente en línea. Dotcom-Monitor descargará el archivo de la URL proporcionada a nuestro sistema cada vez que se ejecute el script y lo reproducirá en una ventana del navegador para emular un hardware de captura de video y audio.

Si no tiene requisitos particulares para probar archivos multimedia, le recomendamos que utilice los archivos de prueba que puede descargar directamente al script desde el almacenamiento CDN de Dotcom-Monitor:

Archivo de audio Prueba de carga de archivos de video Monitoreo de archivos de video
10 segundos 10s.y4m
30 segundos 30sec.wav 30s.y4m
1 minuto 1min.wav 1min.y4m

Uso de archivos multimedia personalizados

Para las pruebas de carga, asegúrese de que el sistema de almacenamiento de archivos que va a utilizar en la prueba tiene suficiente capacidad para sostener una carga durante una ejecución de prueba. De lo contrario, pueden producirse errores relacionados con la descarga de archivos durante la ejecución de la prueba. Para escenarios de supervisión del rendimiento web, también es importante utilizar un sistema de almacenamiento muy fiable para garantizar un acceso sin problemas a los medios de prueba y un tiempo de carga rápido.

Como práctica recomendada para optimizar la entrega de sus archivos multimedia a Dotcom-Monitor, al ejecutar pruebas de carga o monitoreo, recomendamos cargar sus archivos multimedia de prueba en un almacenamiento CDN confiable.

Formatos de archivo compatibles y límites de tamaño

El límite de tamaño de los archivos multimedia es de 20 MB para los scripts de supervisión web y de 150 MB para los scripts de prueba de carga.

Actualmente admitimos los siguientes formatos de archivo multimedia para fines de prueba.

Para archivos de vídeo:

YUV4MPEG2 (a.k.a. Y4M)

Puede encontrar más información sobre el formato de archivo aquí: http://wiki.multimedia.cx/index.php?title=YUV4MPEG2

Para archivos de audio:

WAV

Guía paso a paso del script de grabación

Primero, descargue una versión de escritorio de EveryStep Scripting Tool. Por favor, vea cómo instalar y usar la herramienta en el artículo Uso de EveryStep Scripting Tool Desktop de nuestra wiki.

En la versión de escritorio de EveryStep Recorder, grabe la navegación a una aplicación de conferencia web de destino e inicie una sesión de transmisión de medios (por ejemplo, haga clic en Iniciar video o Permitir acceso a la cámara web). A continuación, guarde el script.

Para agregar pasos de emulación de secuencias multimedia, agregue los siguientes métodos antes de las líneas de navegación de la aplicación web:

tab0.Download (string  wavFileName, string wavFileURL);
tab0.Download (string  y4mFfileName, string y4mFileURL);
UseFileForFakeMediaCapture (MediaType.Camera, string  y4mFileName);
UseFileForFakeMediaCapture (MediaType.Microphone, string  wavfileName);

Definición de parámetros

wavFileName string: .wav nombre de archivo para emulación de audio

Cadena y4mfileName – Nombre de archivo .y4m para emulación de vídeo

cadena wavFileURL : URL del archivo de audio

Cadena y4mFileURL : URL del archivo de vídeo

Asegúrese de que los nombres de archivo sean coherentes en todo el script.

Para reservar tiempo adicional para el paso de transmisión de multimedia, agregue la línea Retraso al final del paso de transmisión de multimedia.

Encuentre el ejemplo de script a continuación.

// 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 ());