Question

J'essaie de télécharger un fichier en tant que pièce jointe par e-mail via un formulaire Web à l'aide de WARIR-webdriver. Le problème que je rencontre est que le code HTML réel lié à la pièce FileInput est masqué sur la page et ne peut donc pas être interagi avec l'utilisation:

@browser.file_field(:id => "fileInput").set "#{filepath}"

Page HTML Code:

<!--Real Input field, but hidden-->
<input id="fileInput" type="file" value="" name="attachment"></input>
<input id="fileButton" type="button" name="attachment" value="Choose Files"
onclick="document.getElementById('fileInput').click();"></input>

Maintenant, tout cela étant dit, je peux cliquer sur le bouton «Choisir les fichiers» sur la page qui ouvre la fenêtre de téléchargement de fichiers. Donc, si je ne suis pas du tout en mesure d'interagir avec l'élément HTML caché, comment puis-je utiliser Ruby pour spécifier quel fichier je souhaite télécharger en utilisant cette fenêtre contextuelle? Win32ole?

Était-ce utile?

La solution

Deux solutions potentielles me viennent à l'esprit

Un, utilisez un outil d'automatisation au niveau du système d'exploitation comme Autoit, ou RautomationPour interagir avec le contrôle de sélection de fichiers au niveau du système

Deux, confèrent aux développeurs de la page et exécutez JavaScript pour définir les valeurs appropriées comme si l'outil de sélection de fichiers avait été utilisé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top