Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

248
Visualizações
¿Cómo cargar manualmente un archivo con ciprés?

Sé que ya hay un complemento para hacer esto en Cypress. Sin embargo, usarlo con archivos jar solo corrompe el archivo y, por lo tanto, es inútil en mi caso de uso. Esto es realmente extraño porque lo probé con todas las combinaciones de codificación y todavía 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('Jar file') .parent() .find('div') .attachFile({ fileContent, filePath: 'test.jar', mimeType: 'application/java-archive', encoding: 'binary', lastModified: new Date().getTime(), subjectType: 'drag-n-drop', force: true }); });

Sé que puede realizar solicitudes de publicación en ciprés. ¿Es posible realizar la carga del archivo con él después de hacer clic en el elemento de la zona de caída?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

cypress-file-upload carece de soporte explícito para la extensión .jar , esta es la lista actual de extensiones compatibles

 const FILE_EXTENSION = Object.freeze({ JSON: 'json', JS: 'js', COFFEE: 'coffee', HTML: 'html', TXT: 'txt', CSV: 'csv', PNG: 'png', JPG: 'jpg', JPEG: 'jpeg', GIF: 'gif', TIF: 'tif', TIFF: 'tiff', ZIP: 'zip', PDF: 'pdf', VCF: 'vcf', SVG: 'svg', XLS: 'xls', XLSX: 'xlsx', DOC: 'doc', DOCX: 'docx', MP3: 'mp3' });

Por lo tanto, la codificación predeterminada utilizada es utf8 . Para pasar explícitamente la codificación como una opción, debe usar el modo sin formato

 cy.fixture('sample.jar', 'binary') .then(Cypress.Blob.binaryStringToBlob) .then(fileContent => { cy.get('[data-cy="dropzone"]').attachFile({ fileContent, filePath: 'sample.jar', mimeType: 'application/java-archive', encoding: 'binary', lastModified: new Date().getTime(), }, { subjectType: 'drag-n-drop', force: true }); });

Tenga en cuenta que debe probar ambos valores subjectType, ya que desencadenan diferentes eventos.

Aquí está el código que muestra qué eventos se activan con la opción de force

 export const EVENTS_BY_SUBJECT_TYPE: Record<Required<HtmlSubjectType>, string[]> = { [HtmlSubjectType.input]: ['change'], /** * @see https://developer.mozilla.org/en-US/docs/Web/API/DragEvent */ [HtmlSubjectType.dragAndDrop]: ['dragstart', 'drag', 'dragenter', 'drop', 'dragleave', 'dragend'], };

Si aún no obtiene ninguna acción, deberá desencadenar eventos manualmente, por ejemplo, encadenar .trigger('change') después de attachFile() . Idealmente, puede averiguar qué eventos del código fuente de la aplicación.


La solución dada por abramenal es incorrecta, esta es la parte de cypress-file-upload que maneja el parámetro de opciones. Si pasa el accesorio como una cadena, se ignora la codificación

 function getFixtureInfo(fixtureInput) { // Normal mode // fixture name and options passed separately. if (typeof fixtureInput === 'string') { return { filePath: fixtureInput, encoding: '', mimeType: '', fileName: getFileName(fixtureInput) }; } // Raw mode // If you pass an object, encoding can be specified return { filePath: fixtureInput.filePath, encoding: fixtureInput.encoding || '', mimeType: fixtureInput.mimeType || '', fileName: fixtureInput.fileName || getFileName(fixtureInput.filePath), fileContent: fixtureInput.fileContent, lastModified: fixtureInput.lastModified }; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda