Ich teste die Website-Funktionalität mit Selenium mit Java von Eclipse. Ein Test besteht darin, auf einen "Download" -Knopf zu klicken, nach einem Popup-Fenster zu suchen (dies ist ein anderes Selenium-Fenster), auf dieses Fenster zu reagieren, was dann dazu führen sollte, dass ein Windows-Download-Dialog erscheint (siehe angehängtes Bild).Zugriff auf Windows-Dialogfelder von Selenium und Java
Bitte beachten Sie. Ich muss die Datei nicht wirklich herunterladen. Überprüfen Sie, dass der Windows-Dialog erscheint.
Ich weiß aus Erfahrung (oder zumindest nicht bewusst), dass Selen tatsächlich auf die Windows-Download-Box zugreifen kann, wählen Sie einen Speicherort und starten Sie den Download. Aber alles, was ich tun muss, ist zu überprüfen, dass die Download-Box aufgetaucht ist. Wenn Sie den Chrom-Treiber verlassen, wird das Download-Fenster gelöscht, so dass es nicht verweilt, aber ich muss noch überprüfen, ob es erstellt wurde.
Irgendwelche Vorschläge? Eine Sache, die ich ausprobierte, war, den Task-Manager geöffnet zu haben. Ich dachte, ich könnte einen Prozess finden, der dem Dialogfeld entspricht, aber es gab 119 Prozesse, bevor das Dialogfeld aufkam und als es abgelaufen war. Also irgendwelche Vorschläge was zu tun ist?
Ich könnte als beiseite hinzufügen, dass jemand eine Problemumgehung geschrieben, um die Datei tatsächlich herunterzuladen. Anstatt auf eine Schaltfläche oder einen Link zu klicken, gab er vor, das Windows-Dialogfeld zu sein, und akzeptierte den Download. Das wird aus den oben genannten Gründen in diesem Fall nicht funktionieren, da ich die tatsächlichen Ergebnisse des Klickens auf die Schaltfläche überprüfen muss.
In meinem angehängten Bild finden Sie ein Beispiel für das Dialogfeld.
Bitte zeigen Sie Code, den Sie versuchten? – Rao
Nicht sicher, was du meinst? Ich habe gerade keinen Code. Versuche herauszufinden, wie es geht. Bevor ich eine Automatisierung schreibe, prüfe ich sie immer zuerst manuell. Das ist soweit ich gekommen bin. Als ich erwähnte, dass der Task-Manager geöffnet war, war es, als ich den Test manuell ausführte ;-) – Tony
Nur die Art und Weise, wie Fenster-Dialogfelder behandelt werden, verwenden die AutoIT- oder Robot-Klasse. – kushal