Gérer le cas où il n'y a aucun élément d'entrée dans le DOM lors de la sélection de fichiers à l'aide de la méthode Cypress
P粉697408921
P粉697408921 2023-09-05 22:32:49
0
1
463
<p>Lorsque vous cliquez sur le bouton de téléchargement, utilisez la méthode ci-dessous pour ouvrir le navigateur de fichiers. Autant que je sache, aucun élément n'est ajouté au DOM sauf si vous l'attachez explicitement à l'élément DOM. </p> <pre class="brush:js;toolbar:false;">const inputEl = document.createElement("input"); inputEl.type = "fichier" ; inputEl.multiple = vrai ; inputEl.click(); inputEl.onchange = (e) => ≪/pré> <p>Est-il possible de sélectionner des fichiers en utilisant cette méthode dans Cypress ? <code>selectFile</code> nécessite que l'élément <code>input</code> soit dans le DOM et que le lien le suive. Sinon, je devrai utiliser des éléments d'entrée cachés. </p>
P粉697408921
P粉697408921

répondre à tous(1)
P粉832490510

Résolu. Je ne peux pas le faire à Cypress. J'ai utilisé une variable d'environnement "DEVELOPMENT=1" pour ajouter l'élément d'entrée au DOM, mais uniquement pendant les tests.

const inputEl = document.createElement("input");
if (process.env.DEVELOPMENT) {
    document.getElementById("root").appendChild(inputEl);
}
inputEl.type = "file";
inputEl.multiple = true;
inputEl.click();
inputEl.onchange = (e) => { ... }

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal