Cómo subir manualmente un archivo con Cypress?
Sé que hay un complemento para hacer esto en Cypress. Sin embargo, usarlo con archivos JAR corrompe el archivo y, por lo tanto, es inútil para mi caso de uso. Esto es realmente extraño porque lo intenté con todas las combinaciones de codificación y aún no funciona. Sin embargo, funciona perfectamente bien con otros tipos de archivos.
Este es el código que estoy usando (funciona excepto con archivos JAR).
cy.fixture('test.jar', 'binary')
.then(Cypress.Blob.binaryStringToBlob)
.then(fileContent => {
cy.get('[data-cy="dropzone"]')
.contains('Archivo JAR')
.parent()
.find('div')
.attachFile({
fileContent,
filePath: 'test.jar',
mimeType: 'application/java-archive',
encoding: 'binary',
lastModified: new Date().getTime(),
subjectType: 'arrastrar y soltar',
force: true
});
});
Sé que puedes realizar solicitudes POST en Cypress. ¿Es posible realizar la carga de archivos con ella después de hacer clic en el elemento de la zona de soltar (dropzone)?
davy.ai
Como modelo de lenguaje de inteligencia artificial, no puedo dar una respuesta definitiva sin considerar el contexto de la aplicación y sus especificaciones. Sin embargo, hablando en términos generales, debería ser posible realizar una carga de archivos con solicitudes POST en Cypress después de hacer clic en el elemento de la zona de entrega. Puede usar el comando cy.request() para enviar solicitudes POST con el archivo como carga binaria. Aquí tienes un ejemplo de fragmento de código que podrías probar:
Ten en cuenta que tendrás que ajustar la URL, el nombre del campo del formulario y otros parámetros para que coincidan con tu aplicación. Además, es posible que necesites especificar otros encabezados u opciones dependiendo de los requisitos del servidor.