O teste de desempenho de aplicativos de navegador da Web que fornecem serviços de webconferência, por exemplo, exames remotos, verificações de webcam ou ferramentas da Web de videoconferência on-line, pode ser complexo.

Por exemplo, você pode querer verificar como seu sistema se comporta quando mais de 100 participantes estão conectados à sua plataforma de videoconferência on-line e conversando e transmitindo ao mesmo tempo. Embora os testes manuais possam ser uma opção para verificações ocasionais ou pequenos testes de carga, é difícil cobrir todos os cenários e implementar monitoramento contínuo e testes de carga quando você tem um número limitado de testadores e hardware. Para facilitar essa tarefa, o Dotcom-Monitor introduz um novo recurso de emulação de webcam e microfone que permite o teste de carga e o monitoramento de webconferência em uma janela do navegador para fornecer os resultados de teste mais realistas.

Neste artigo, aprenderemos como adicionar a função de emulação de streaming de áudio e vídeo a um script de teste com o EveryStep Scripting Tool Desktop da Dotcom-Monitor.

Como funciona

Em poucas palavras, o Dotcom-Monitor emula fluxos de vídeo e áudio em um navegador, toda vez que um aplicativo da Web de destino solicita acesso a uma webcam e microfone em um dispositivo de usuário final. Para fazer isso, executamos uma sequência pré-gravada de transações do usuário no navegador Chrome e usamos arquivos de áudio/vídeo personalizados para passar a mídia pré-gravada.

O Dotcom-Monitor não possui armazenamento disponível localmente. Antes de executar a etapa de streaming de mídia, você precisa entregar os arquivos de mídia ao script a partir de um armazenamento de arquivos online disponível publicamente. O Dotcom-Monitor baixará o arquivo da URL fornecida para o nosso sistema cada vez que o script for executado e o reproduzirá em uma janela do navegador para emular um hardware de captura de vídeo e áudio.

Se você não tiver requisitos específicos para testar arquivos de mídia, recomendamos usar os arquivos de teste que você pode baixar diretamente para o script do armazenamento CDN do Dotcom-Monitor:

Arquivo de áudio Arquivo de vídeo
30 seg https://d149yd38g6ldk.cloudfront.net/30sec.wav https://d149yd38g6ldk.cloudfront.net/WebCam30s.y4m
1 min https://d149yd38g6ldk.cloudfront.net/1min.wav https://d149yd38g6ldk.cloudfront.net/WebCam1m.y4m

Usando arquivos de mídia personalizados

Para testes de carga, verifique se o sistema de armazenamento de arquivos que você usará no teste tem capacidade suficiente para sustentar uma carga durante uma execução de teste. Caso contrário, erros relacionados ao download de arquivos podem ocorrer durante a execução do teste. Para cenários de monitoramento de desempenho da Web, também é importante usar um sistema de armazenamento muito confiável para garantir acesso contínuo à mídia de teste e tempo de carregamento rápido.

Como prática recomendada para otimizar a entrega de seus arquivos de mídia ao Dotcom-Monitor, ao executar testes de carga ou monitoramento, recomendamos carregar seus arquivos de mídia de teste em um armazenamento CDN confiável.

Formatos de arquivo suportados e limites de tamanho

O limite de tamanho do arquivo de mídia é de 20 MB.

Atualmente, suportamos os seguintes formatos de arquivo de mídia para fins de teste.

Para arquivos de vídeo:

YUV4MPEG2 (a.k.a. Y4M)

Você pode encontrar mais informações sobre o formato de arquivo aqui: http://wiki.multimedia.cx/index.php?title=YUV4MPEG2

Para arquivos de áudio:

WAV

Guia passo a passo do script de gravação

Primeiro, baixe uma versão para desktop da Ferramenta de Scripting EveryStep. Veja como instalar e usar a ferramenta no artigo de desktop da ferramenta de scripting Using EveryStep da nossa wiki.

Na versão desktop do EveryStep Recorder, grave a navegação em um aplicativo de webconferência de destino e inicie uma sessão de streaming de mídia (por exemplo, clique em Iniciar Vídeo ou Permitir Acesso à Webcam). Em seguida, salve o script.

Para adicionar etapas de emulação de fluxo de mídia, adicione os seguintes métodos antes das linhas de navegação do aplicativo Web:

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

Definição de parâmetros

wavFileName string – .wav nome de arquivo para emulação de áudio

y4mfileName string – nome de arquivo .y4m para emulação de vídeo

wavFileURL string – URL do arquivo de áudio

y4mFileURL string – URL do arquivo de vídeo

Verifique se os nomes de arquivo são consistentes em todo o script.

Para reservar tempo adicional para a etapa de streaming de mídia, adicione a linha Atraso no final da etapa de streaming de mídia.

Encontre a amostra do roteiro abaixo.

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