Le téléchargement de fichiers est une fonctionnalité courante dans de nombreuses applications Web. Selenium WebDriver fournit un moyen de gérer les téléchargements de fichiers à l'aide de la méthode sendKeys().
Le code suivant montre comment gérer le téléchargement de fichiers à l'aide de Selenium WebDriver :
<code class="java">WebElement fileInput = driver.findElement(By.name("uploadfile")); fileInput.sendKeys("C:/path/to/file.jpg");</code>
Pour le site Web Zamzar, le code ci-dessus devrait fonctionner parfaitement. Tapez simplement le chemin dans le champ de saisie.
Pour le site Web Uploadify, il y a une légère différence. Le bouton de téléchargement n'est pas un élément d'entrée, mais un objet Flash. Puisqu'il n'existe pas d'API WebDriver pour travailler avec des objets Flash, nous devons recourir à une approche différente.
Après avoir cliqué sur l'élément Flash, une fenêtre apparaîtra. Nous pouvons supposer que le curseur se trouve dans l'entrée Nom de fichier. Sinon, utilisez Alt N pour y accéder.
Pour saisir aveuglément le chemin dans le champ de saisie, utilisez la classe Robot :
<code class="java">Robot r = new Robot(); r.keyPress(KeyEvent.VK_C); // C r.keyRelease(KeyEvent.VK_C); // ... and so on for the rest of the path r.keyPress(KeyEvent.VK_ENTER); // Confirm by pressing Enter r.keyRelease(KeyEvent.VK_ENTER);</code>
Comme Une alternative consiste à modifier le code source de l'application Flash pour exposer les méthodes internes à l'aide de l'API ExternalInterface. Cela permet à JavaScript d'appeler des méthodes Flash internes, qui peuvent ensuite être utilisées par WebDriver pour effectuer le téléchargement du fichier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!