Si necesita configurar la supervisión o las pruebas de carga para aplicaciones web con funcionalidad de carga de archivos, utilice everyStep Scripting Tool para grabar el script.
Límites de carga de archivos
EveryStep Scripting Tool admite la grabación de una carga de archivos en una URL externa. Puede registrar la carga de hasta 100 MB en total dentro de un script EveryStep para pruebas de carga y hasta 20 MB para scripts de supervisión.
Por ejemplo, puede grabar una carga de cuatro archivos de 25 MB o un archivo de 100 MB para la prueba de carga. O puede grabar la carga de dos archivos con un tamaño de archivo de 10 MB cada uno o un archivo de 20 MB para supervisar el rendimiento web.
Cómo funciona
Dotcom-Monitor no tiene almacenamiento disponible localmente. Para emular el proceso de carga de un archivo, el sistema debe descargar el archivo en el script desde una dirección URL pública antes de ejecutar el paso de carga. Por lo tanto, en primer lugar, debe proporcionar un archivo de prueba que Dotcom-Monitor utilizará en el proceso de carga. Como resultado, Dotcom-Monitor descargará el archivo desde la URL proporcionada al almacenamiento en la nube del sistema y lo utilizará en el proceso de carga cada vez que se ejecute el script. Hay dos enfoques para proporcionar un archivo de prueba a Dotcom-Monitor.
Descargar el archivo desde la URL externa
Para utilizar un archivo de una URL externa, coloque un archivo de prueba de hasta 100 MB (hasta 20 MB para scripts de monitoreo) en una URL de acceso público, como el bucket de Amazon S3, el almacenamiento de Azure o los servicios de CDN, como AWS CloudFront CDN. A continuación, registre el paso de carga de archivos en EveryStep Recorder. Mientras grabas el paso, se te pedirá que proporciones el enlace al archivo de prueba. El sistema descargará el archivo y lo utilizará en la operación de carga.
Grabación de una descarga de archivos dentro del script
Alternativamente, puede grabar la descarga del archivo y seleccionar el archivo descargado para grabar un paso de carga en el script. Si es necesario, puede cambiar el nombre de archivo y el vínculo, así como descargar el tiempo de espera, editando la línea relacionada en el área Código de script después de la grabación.
Mejores prácticas
Dotcom-Monitor ejecuta todos los pasos y acciones del script sin demoras de forma predeterminada. Sin embargo, normalmente se tarda algún tiempo en cargar un archivo en un recurso web. En este caso, para simular el retraso y esperar a que el sistema ejecute el paso de carga, se recomienda agregar la línea Delay al script justo después del paso de carga.
Además, para asegurarse de que la carga se ha ejecutado correctamente, configure la validación de contenido después del paso de carga. En general, si aparecen cuadros de diálogo o confirmaciones de carga en la página después de cargar el archivo, agregue la validación de palabras clave o los fragmentos de código disponibles para comprobar si el paso de carga ha traído los resultados esperados.
Grabación de la carga de archivos desde la URL externa
Compruebe los pasos de configuración de carga de archivos a continuación:
- Descargue un archivo de prueba de hasta 100 MB en una dirección URL de acceso público.
- Registre el script hasta el punto que necesita para cargar el archivo.
- Haga clic en el botón correspondiente en la página de destino para cargar el archivo.
- En la ventana Cargar archivos, proporcione un vínculo externo al archivo que desea cargar. El archivo se descargará desde el enlace externo proporcionado al almacenamiento en la nube de Dotcom-Monitor. Una vez descargado, el nombre del archivo aparecerá en la ventana Cargar archivos. Seleccione la casilla de verificación archivo y haga clic en Aceptar. Como resultado, la línea OpenFileDialogHandler se agregará automáticamente al script.
- Agregue el retardo justo después del paso de carga.
- Agregue la palabra clave o la validación de imagen al script.
- Si es necesario, proceda con la grabación; y detener el proceso de grabación cuando esté listo.
Encuentre el ejemplo del script de carga de archivos grabado en la herramienta de scripting EveryStep a continuación. El script contiene ejemplos de carga de un archivo almacenado localmente y un archivo desde la dirección URL externa. Para fines de prueba de carga, puede usar los siguientes archivos de ejemplo de direcciones URL disponibles públicamente:
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.docx
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.pdf
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.txt
// 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");