Lors du téléchargement d'un fichier avec IE11 / Edge, une boîte de dialogue de réponse (barre de notification) apparaîtra en bas et vous devez appuyer sur "Enregistrer".
Ce dialogue.
Cette fois, j'ai étudié comment tester cela avec Selenium WebDriver. Le langage d'implémentation sera Java.
Il semble que la boîte de dialogue ne puisse pas être cachée dans les paramètres du navigateur, j'ai donc cherché comment appuyer sur "Enregistrer".
Reportez-vous au code dans Test du téléchargement de fichiers dans IE9 via Selenium Je l'ai créé dans, mais j'ai dû le modifier un peu car la version d'IE était différente.
sample.java
import java.awt.AWTException;
import java.awt.Robot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
//・ ・ ・
//Élément qui effectue le traitement du téléchargement(Bouton etc.)rechercher
WebElement downloadElement = driver.findElement(By.id("download"));
try {
Robot robot = new Robot();
//Déplacer le focus sur l'élément cible
downloadElement.sendKeys("""");
//Appuyez sur la touche Entrée
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
//Télécharger la barre de notification(Gestionnaire de téléchargement)Attendre
Thread.sleep(2000);
// Alt+Appuyez sur N pour télécharger la barre de notification(Gestionnaire de téléchargement)Déplacer le focus sur
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_ALT);
//Appuyez sur la touche Entrée pour démarrer le téléchargement
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
//Attendez la fin du téléchargement
Thread.sleep(2000);
// Alt+Appuyez sur N pour télécharger la barre de notification(Gestionnaire de téléchargement)Déplacer le focus sur
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_N);
robot.keyRelease(KeyEvent.VK_ALT);
//Appuyez trois fois sur la touche de tabulation dans la barre de notification"X"Transition vers un bouton
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
//Appuyez sur la touche Entrée et sur la barre de notification(Gestionnaire de téléchargement)proche
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
} catch (AWTException e) {
e.printStackTrace();
}
Comme je l'ai écrit dans les commentaires, ce code utilise Robot pour effectuer les frappes nécessaires pour le téléchargement. En particulier
--Appuyez sur Alt + N (focus sur la boîte de dialogue de téléchargement) → appuyez sur Entrée (appuyez sur le bouton Enregistrer) → appuyez à nouveau sur Alt + N (focus sur la boîte de dialogue de confirmation après le téléchargement) → passez au bouton X (fermer) sur l'onglet → Appuyez sur Entrée (ferme la boîte de dialogue)
Je fais l'opération.
Par conséquent, si vous changez la fenêtre active pendant l'exécution du test , la clé sera actionnée dans cette fenêtre et le test échouera </ font> (par exemple, il peut être exécuté normalement). Si vous ouvrez le dossier de téléchargement pour vérifier si c'est le cas, la clé y sera utilisée). Faites attention de ne pas changer la fenêtre active lors du test du code ici.
De plus, si les spécifications du navigateur changent à l'avenir et que l'opération clé change, cela doit être corrigé. Enfin, je listerai la version du navigateur confirmée cette fois.
Informations sur la version d'IE11:
Version Edge: