Estoy tratando de cargar un archivo en una solución angular usando ciprés. Usando este complemento ( https://www.npmjs.com/package/cypress-file-upload )
Aquí el código que usé
const filepath = 'test-20210816-071154.zip' cy.get(".mat-focus-indicator.mat-tooltip-trigger.add-button.positive-button.small-icon-button.mat-icon-button").attachFile(filepath) ¡Ese caso de prueba está pasando pero la carga de archivos no funciona! Mientras que el mismo código que uso para cargar aquí 
está funcionando.
cy.get("#fileUpload").attachFile(filepath)Entonces, mi pregunta: ¿el complemento cypress-file-upload realmente funciona para la solución angular? si es asi como puede ser?
usando este código cy.get('input[data-placeholder="type diagram name"]).attachFile(filepath, { subjectType: 'drag-n-drop' }).trigger('change', {force:true} ) se centra en el campo, no en el icono de importación 
Finalmente obtengo la dirección de entrada exacta, que es input[type="file"] y está oculta asegurada por el desarrollador
cy.get('input[type="file"]').attachFile(filepath,{ mimeType: 'application/zip' }); usó eso: no se carga, sino que se muestra el mensaje "archivo JSON no válido". ¿Qué puedo hacer ahora?
attachFile() debe usarse en una <input> (el segundo ejemplo lo hace).
Pero en la aplicación Angular adjuntaste un <button> .
Necesito subir un div o dos en el árbol (difícil saberlo exactamente a partir de la información proporcionada)
cy.get('button.add-button') .parent() .prev() .find('input') .attachFile(filepath) Eso es una suposición, si no está bien, publique más html que muestre la <input> a la izquierda del botón en la pantalla.
Nota { subjectType: 'drag-n-drop' } es obligatorio aquí (puede o no para su aplicación).
it('uploads a file in an Angular app', () => { cy.viewport(1200,1000) cy.visit('https://kzrfaisal.github.io/#/afu') // Upload button is initially disabled cy.get('button').contains('Upload') .should('not.be.enabled') // Attach the file cy.get('input[name="files[]"]').eq(0) .attachFile('Asmara, Eritrea.jpg', { subjectType: 'drag-n-drop' }) .trigger('change', {force:true}) // Upload button is active cy.get('button').contains('Upload') .should('be.enabled') .click() cy.contains('Successfully Uploaded !') .should('be.visible') })Por cierto, el siguiente código funciona-
const filepath = 'xxx.zip' cy.get('input[type="file"]').attachFile(filepath,{ mimeType: 'application/zip' });si usa xpath -
cy.xpath('xpath to input').attachFile(filepath,{ mimeType: 'application/zip' });