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