Tengo un botón que abre el explorador de archivos de Windows para buscar un archivo. ¿Cómo puedo hacerlo con Cypress?
A continuación se encuentra mi html:
<button ng-if="!isIE()" id="UploadedFileBtn" data-ng-click="SelectFile()" title="Browse" text="Browse" style="padding-bottom :5px" class="ng-scope">
<mosaic-icon name="upload" width="20" height="20" class="">
<svg class="icon" width="20" height="20"><use xlink:href="#mosaic_icon_upload"></use></svg>
</mosaic-icon>
</button>
Este botón no tiene tipo = “archivo” ni es un botón de navegación. Es solo un botón que abre un explorador de archivos y necesito seleccionar un archivo de él.
A continuación, el código de mi archivo js:
const imgfile = 'Needlers76950.pdf';
cy.get("#UploadedFileBtn > mosaic-icon > .icon").click().attachFile(imgfile);
He completado todos los requisitos previos para los complementos de carga de archivos Cypress.
davy.ai
Explicación del código
El código HTML dado contiene un elemento de botón con un ID de
UploadedFileBtn
y un atributodata-ng-click
que activa la funciónSelectFile()
. Este elemento de botón se muestra condicionalmente según la funciónisIE()
.El elemento de botón también contiene elementos SVG anidados y
mosaic-icon
que muestran un icono de “carga”.El código JavaScript utiliza el método
attachFile()
de Cypress para cargar un archivo llamadoNeedlers76950.pdf
. El método se llama después de hacer clic en el elemento de icono anidado dentro del elemento de botón identificado por el selector#UploadedFileBtn > mosaic-icon > .icon
.Antes de usar el método
attachFile()
, se ha cumplido el requisito previo para los complementos de carga de archivos de Cypress.