Wie gehe ich mit dem Fenster zum Hochladen von Windows-Dateien um, wenn ich Selen verwende?

Ich versuche, mit Java Selentests für eine Website zu schreiben. Beim Testen des Hochladens von Dateien ist jedoch ein Problem aufgetreten.

Wenn ich auf die Schaltfläche zum Hochladen von Dateien klicke, wird automatisch der Windows-Datei-Upload geöffnet. Ich habe Code, mit dem der Text erfolgreich in das Upload-Feld eingefügt werden kann. Ich kann nur nichts tun, um zu verhindern, dass das Windows-Fenster automatisch angezeigt wird, und es ist keine Option, wenn die Website den Windows-Datei-Upload nicht automatisch öffnet. Nach Recherchen zu diesem Thema gibt es meines Erachtens keine Möglichkeit für Selen-Webtreiber, damit umzugehen. Meine Frage lautet also: Wie kann ich das Upload-Fenster einfach automatisiert schließen?

Ich habe die Java-Roboterklasse ausprobiert und es hat nicht funktioniert. Es wurde gewartet, bis das Upload-Fenster geschlossen wurde, bevor die von mir angegebenen Befehle ausgeführt wurden (ALT-F4, Klicken auf eine X-Y-Position usw.).

Danke im Voraus

BEARBEITEN:

wait.until(ExpectedConditions.elementToBeClickable(By.id(("addResourcesButton"))));
driver.findElement(By.id("addResourcesButton")).click();

//popup window comes up automatically at this point


try {
    Robot robot = new Robot();
    robot.mouseMove(875, 625);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
} catch (AWTException e) {
    e.printStackTrace();
}

//my attempt to move the mouse and click, doesn't move or click until after I close the windows upload box

String fileToUpload = "C:\\file.png";


WebElement uploadElement = driver.findElement(By.id("fileInput"));
uploadElement.sendKeys(fileToUpload);

//Takes the code and successfully submits it to the text area, where I can now upload it

Antworten auf die Frage(2)

Ihre Antwort auf die Frage