Se você precisar configurar o monitoramento ou o teste de carga para aplicativos web com a funcionalidade de upload de arquivos, use a EveryStep Scripting Tool para gravar o script.

A gravação de upload de arquivos está disponível apenas para chrome e navegadores móveis.

Com o EveryStep Desktop, você pode configurar o upload de um arquivo de uma URL externa de até 5MB e até 20MB no total dentro de um script. Por exemplo, você pode gravar o upload de quatro arquivos de 5 MB ou 20 arquivos de 1MB.

Como funciona

O Dotcom-Monitor não possui armazenamento disponível localmente. Para emular o processo de upload de um arquivo, o sistema precisa baixar o arquivo para o script a partir de uma URL pública antes de executar a etapa de upload. Assim, primeiro, você precisa fornecer um arquivo de teste que será usado no processo de upload pelo Dotcom-Monitor. Como resultado, o Dotcom-Monitor baixará o arquivo da URL fornecida para o armazenamento em nuvem do sistema e o usará no processo de upload cada vez que o script for executado. Existem duas abordagens para fornecer um arquivo de teste ao Dotcom-Monitor.

Baixando um arquivo da URL externa

Para gravar um upload de arquivo de uma URL externa, coloque um arquivo de teste de até 5 MB em uma URL acessível ao público, como o balde Amazon S3, armazenamento Azure ou serviços DE CDN. Em seguida, registo o passo de upload do arquivo no EveryStep Recorder. Durante a gravação da etapa, você será solicitado a fornecer o link para o arquivo de teste. O sistema baixará o arquivo e o usará na operação de upload.

Gravando um download de arquivo dentro do script

Alternativamente, no EveryStep Desktop Recorder, você pode gravar o download do arquivo e selecionar o arquivo baixado para gravar uma etapa de upload no script. Se necessário, você pode alterar o nome e o link do arquivo, bem como baixar o tempo limite, editando a linha relacionada na área do Código de Script após a gravação.

Melhores Práticas

O Dotcom-Monitor executa todas as etapas e ações no script sem atrasos por padrão. No entanto, normalmente leva algum tempo para carregar um arquivo para um recurso da Web. Neste caso, para simular o atraso e esperar que o sistema execute a etapa de upload, recomenda-se adicionar a linha Delay ao script logo após a etapa de upload.

Além disso, para garantir que o upload foi executado corretamente, configure a validação do conteúdo após a etapa de upload. Em geral, se as caixas de diálogo ou confirmações de upload aparecerem na página após o upload do arquivo, adicione validação de palavras-chave ou trechos de código disponíveis para verificar se a etapa de upload trouxe os resultados esperados.

Gravando o upload de arquivos a partir da URL externa

Confira as etapas de configuração de upload do arquivo abaixo:

  1. Baixe um arquivo de teste de até 5 MB para uma URL acessível ao público.
  2. Grave o script até o ponto que você precisa para carregar o arquivo.
  3. Clique no botão correspondente na página de destino para carregar o arquivo.
  4. Na janela Upload Files, forneça um link externo para o arquivo que deseja carregar. O arquivo será baixado a partir do link externo fornecido para o armazenamento em nuvem Dotcom-Monitor. Uma vez baixado, o nome do arquivo será listado na janela Upload Files. Selecione a caixa de seleção de arquivos e clique em OK. Como resultado, a linha OpenFileDialogHandler será adicionada automaticamente ao script.

    Se o download do arquivo tiver sido gravado na etapa anterior do script, selecione o nome do arquivo imediatamente na janela Upload Files.

  5. Adicione o atraso logo após a etapa de upload.
  6. Adicione a palavra-chave ou validação de imagem ao script.
  7. Se necessário, prossiga com a gravação; e pare o processo de gravação quando estiver pronto.

Encontre o exemplo do script de upload de arquivo gravado na ferramenta de scripting EveryStep abaixo. O script contém a etapa do download do arquivo de teste para o armazenamento do sistema.

// script_version=3.0; everystep_version=4.0.7706.9249; date=2/10/2021; Chrome=83.0.4103.61
Tabs.SetSize (1768, 419);
DMBrowser tab0 = null;
Step (1, "Download & Generate Test Files - https://fastest.fish/test-files");
tab0 = Tabs.NewTab ();
tab0.GoTo ("https://fastest.fish/test-files");
tab0.Link ("//A[normalize-space()=\"5MB\"]", "//A[normalize-space(text())=\"5MB\"]", "//A[normalize-space()=\"10MB\"]/preceding-sibling::A[1]").Click ();
//File Download to the system storage  
Step (2, "Download & Generate Test Files - http://ipv4.download.thinkbroadband.com/5MB.zip");
tab0.Downloading ("5MB.zip", "http://ipv4.download.thinkbroadband.com/5MB.zip");
tab0.Para ("//P[normalize-space()=\"These test files will be downloaded in full over your network connection from high speed servers. These files can be used to test your network download speed.\"]/preceding-sibling::P[1]", "//P[normalize-space(text())=\"These test files will be downloaded in full over your network connection from high speed servers. These files can be used to test your network download speed.\"]/preceding-sibling::P[1]", "/HTML/BODY/DIV/DIV/P[1]").Click ();
//File Upload using the file from the system storage
Step (3, "Gofile - https://gofile.io/uploadFiles");
tab0.GoTo ("https://gofile.io/uploadFiles");
OpenFileDialogHandler (OpenFileDialogButton.Ok, new string[1] {"5MB.zip"});
tab0.Button ("//BUTTON[normalize-space()=\"Click here\"]", "//BUTTON[normalize-space(text())=\"Click here\"]", "//BUTTON[@ID=\"dropZoneBtnSelect\"]").Click ();
tab0.Button ("//BUTTON[normalize-space()=\"Upload\"]", "//BUTTON[normalize-space(text())=\"Upload\"]", "//BUTTON[@ID=\"uploadFiles-btnUpload\"]").Click ();
Delay ("40sec".ToDuration ());
tab0.KeywordAssert ("successfully uploaded");
//File Upload from the external URL
tab0.Link ("//P[normalize-space()=\"Upload Files\"]/..", "//LI[@ID=\"li-uploadFiles\"]//A", "//LI[@ID=\"li-api\"]/preceding-sibling::LI[1]//A").Click ();
tab0.Download ("Q3UTw.htm", "https://dropmefiles.com/Q3UTw");
OpenFileDialogHandler (OpenFileDialogButton.Ok, new string[1] {"Q3UTR.htm"});
tab0.Button ("//BUTTON[normalize-space()=\"Click here\"]", "//BUTTON[normalize-space(text())=\"Click here\"]", "//BUTTON[@ID=\"dropZoneBtnSelect\"]").Click ();
tab0.Button ("//BUTTON[normalize-space()=\"Upload\"]", "//BUTTON[normalize-space(text())=\"Upload\"]", "//BUTTON[@ID=\"uploadFiles-btnUpload\"]").Click ();
Delay ("40sec".ToDuration ());
tab0.KeywordAssert ("successfully uploaded");