O teste de desempenho de aplicativos de navegador da Web que fornecem serviços de webconferência (WebRTC), por exemplo, exames remotos, verificações de webcam ou ferramentas da Web de videoconferência online, 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.
Visite nossa postagem no blog WebRTC Load Testing Explained para saber mais sobre o WebRTC e as abordagens mais eficazes para Load Testing and Monitoring With WebRTC.
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 | Teste de carga de arquivo de vídeo | Monitoramento de arquivos de vídeo | |
10 seg | – | – | 10s.y4m |
30 seg | 30sec.wav | 30s.y4m | – |
1 min | 1min.wav | 1min.y4m | – |
Formatos de arquivo suportados e limites de tamanho
O limite de tamanho do arquivo de mídia é de 20 MB para scripts de monitoramento da Web e 150 MB para scripts de teste de carga.
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);
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 ());